javaScritp常用处理数组,字符串的函数

javaScript是解释型语言,在运行时解释,并立即执行。(类似火锅,边涮边吃)
Java是编译型语言,在运行之前先进行编译,生成class文件,编译不出错才能执行。(所有菜炒好再上菜)

数据类型

js是弱类型语言,在声明时没有指定变量类型,通过赋值确定变量类型。

字符串拼接

console.log('hello'+'world')
let age=20
console.log(`今年${age}`)	

布尔型运算

console.log(true+1) // 2
console.log(false+1) // 1

undefined:一个变量只声明没有赋值时候的类型
null:值为空

console.log(undefined+1) // NaN
console.log(null+1) // 1

判断数据类型typeof

let a=1
console.log(typeof a) // number
let b=null
console.log(typeof b) // object

数据类型转换
转字符串
1.调用方法:str.toString()
2.强制转换:String(str)
3.加号拼接:str+’ ’
(任何类型拼上字符串输出都是字符串)

转数字类型
1.整型:parseInt(str)
2.浮点型:parseFloat(str)
3.强制转换:Number(str)
4.减号:‘10’-‘8’ = 2 (返回数字2) ‘10’- 0 = 10(返回数字10)

转布尔类型
1.Boolean(变量)
(代表空、否定的值会被转为false,如’ ',0,NaN,null,undefined)

处理字符串的函数

  • split:把字符串按‘,’截取成数组
let str='1,2,3,4,5'
let arr = str.split(',') // [1,2,3,4,5]
  • join:把数组拼成字符串
let arr = [1,2,3,4]
let stringstr = arr.join('-')
console.log(stringstr) // '1-2-3-4'
  • substring(strat,end):按下标截取
let str='Hello,World'
str.substring(0,5) // Hello
str.substring(5) // ,World 默认从5开始到结尾
  • slice(start,length)
let str='Hello,World'
str.slice(1,5) // ello
str.slice(-5) // World 从后往前截取5位
// 如果没有参数就相当于复制一份str
let _str = str.slice()
_str = 'Hello,World'
  • str.indexOf(a)
    返回a在str中第一次出现的下标索引,如果str中不包括a,返回-1

处理数组的函数

1.数组遍历forEach
不能return,不能控制index

arr.forEach((user,inedx)=>{}) 

2.标准for循环
下标使用更灵活
其他循环不能处理的比如 循环数组时删除元素

for(let i = 0;i<this.tableData.length;i++){
	let user = this.tableData[i]
    if (user.id) {
        if (this.userIds.indexOf(user.id) > -1) {
        	this.tableData1.splice(i, 1)
        	i--; // 删除后要下标减1,否则总是少一个
        }
    }
}

3.不带下标的基础for循环简单写法

for(let user of userList){}

4.some和every函数
arr.some() 数组中存在符合的元素就返回true
arr.every() 数组中全部符合返回true

//ES6写法
let arr = [1,2,3,4,5]
arr.some(a=>a>3)
//返回true
arr.every(a=>a>3)
//返回false

5.过滤器filter
返回一个符合条件的新数组,并不改变原来的数组

//返回数组中type=1的对象
let newArr = arr.filter((item,index)=>{
	return item.type==1
})

6.map
map不会改变原始数组,按照原数组的顺序处理每个元素,返回一个新数组;
map不会处理空数组

let arr = [{id:'1',name:'张三'},{id:'2',name:'李四'}]
//返回id的集合 ids = [1,2]
let ids = arr.map(item=>item.id)

7.splice
arr.splice(index, howmany, item1,…itemN)
往数组的指定位置添加或删除元素

// howmany为0时,往数组里新增元素,index是新增元素的下标,item就是新增元素
let arr = [1,2,3,4]
arr.splice(0,0,"hello")
console.log(arr) //["hello",1,2,3,4]

// 删除指定下标的一个元素,一般配合循环使用
for(let i=0;i<arr.length;i++){
	arr.splice(i,1); 
	i--; //删除之后记得下标减一
}

// 删除多个元素(从数组末尾删除两个元素)
let newArr = arr.splice(arr.length-1,2)
arr = [1,2]
// 他返回值为删掉的元素集合
newArr = [3,4]

//先删除再添加元素(下标1的元素删除后再在下标1的位置添加“haha”)
arr.splice(1,1,"haha")
arr = [1,"haha",3,4]

8.往数组末尾添加元素:arr.push(item)
9.往数组开头添加元素:arr.unshift(item)
10.返回元素在数组中的索引:let index = arr.findIndex(item)

let arr = [1,2,3,4,5]
let i= "2"
const index = arr.findIndex(i=>i) //返回i在arr中的索引
const index = arr.findIndex(i=>{return i})

11.arr.pop()
删除数组最后一项元素,length-1,并返回被删除的元素,当数组为空时返回undefined
用于 数组设置了最大长度长度时

12.arr.shift()
删除数组的第一项,同时减少数组的 length 值,返回被删除的项

12.arr.push()
往数组的尾部添加元素
可以push一个变量,一个对象,或者把整个数组push进来

arr.push('001')
arr.push({id:'001', name:'张三'}) 
//浅拷贝
let list = [{id:'001', name:'张三'},{id:'002', name:'李四'}]
arr.push(...list) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值