push、unshit、pop、shift、concat基础
at(index)
好用,兼容性好,替代arr(arr.length-1)
forEach(ele,index,array)
注意
当ele时基本类型是,遍历赋值不生效
当ele是引用类型时,遍历赋值生效
不支持break
const arr1 = [1,2,3,4,5]
arr1.forEach(item=>{
item+=1
})
console.log(arr1)//[1,2,3,4,5]
const arr2 = [1,2,3,4,5]
arr1.forEach((item,index,arr)=>{
arr[index]+=1
})
console.log(arr2)//[2,3,4,5,6]
map(ele,index,array)
filter(ele,index,array)
reduce(pre,cur,index,arr)
四个参数,可以替换filter().map()的情况
pre:上一个结果或者初始值
cur:当前值
index:索引
arr:数组本身
entityList.reduce((pre, cur) => {
if (cur.name !== form.value.name) {
pre.push({
label: cur.name, value: cur.name
})
}
return pre
}, [])
find(ele,index,array)
遍历查询,返回查到的对象或者undefined\
findIndex(ele,index,array)
遍历查询,返回查到的对象的索引值或者-1
find和findIndex是比较常见的,遍历查询第一个。当有的场景遍历查询最后一个的话可以使用findLat和findLastIndex。只是后者是2022年才发布的,兼容性差一些。
every(ele,index,array)
返回true/false 是否所有元素都满足判定条件\
some(ele,index,array)
返回true/false,只有有一个满足条件就返回true
splice(startIndex,delIndex,item1,item2...)
可添加、可删除、可替换
改变元素组,返回值是删除的元素数组或者空数组
splice(0,0,item)添加,在数组第一个位置插入item
splice(0,1)删除,删除数组第一个元素
splice(0,1,item),替换数组第一个元素为item
slice(start,end)
返回一个从start到end的新数组,不改变原数组,返回值是新数组
sort(a,b)
默认是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序
a-b 升序
b-a 降序
a===b 保持不变
const arr1 = [1,200,5,100,19]
arr1.sort()
console.log(arr1)// [1, 100, 19, 200, 5]
const arr2 = ['vb','c','es','a']
arr2.sort()
console.log(arr2) // ['a','c','es','vb']
const arr3 = [1,200,5,100,19]
arr3.sort((a,b)=>{
return a-b
})
console.log(arr3)// [1, 5, 19, 100, 200]
includes(ele,fromIndex)
常用于多条件判断
举例:['start','stop','running'].includes(item.status)
indexOf(ele,fromIndex)
一般适合单条件判断,个人比较喜欢includes后期如果加条件比较方便