数组遍历的方法
forEach 类似与for循环
不会改变原数组
将数组中的2全部加1
const arr = [1,2,3,2]
var newArr = []
arr.forEach(v=>{
if(v===2){
v=v+1
}
newArr.push(v)
})
console.log(newArr); //[ 1, 3, 3, 3 ]
console.log(arr); //[ 1, 2, 3, 2 ]
every
不会改变原数组
every 判断 有一个不符合条件就停止判断,输出false,全部符合就为true
//every 判断 有一个不符合条件就停止判断,输出false,全部符合就为true
const arr = [1,2,3,2]
var flag = arr.every(v=>{
return v>0
})
console.log(flag); //true
const arr = [1,2,3,2]
var flag = arr.every(v=>{
return v>2
})
console.log(flag); //false
some
some 判断 是否存在某个元素 ,有一个符合条件就停止判断就返回true
const arr = [1,2,3,2]
var flag = arr.some(v=>{
return v<2
})
console.log(arr); //[1,2,3,4]
console.log(flag) //true
map
修改并返回新数组 修改每一项
const arr = [1,2,3,2]
var flag = arr.map(v=>{
return v+''
})
console.log(flag); // ['1','2','3','2']
console.log(arr); //[1,2,3,2]
var flag = arr.map(v=>{
return v+1
})
console.log(flag); // [2,3,4,3]
console.log(arr); //[1,2,3,2]
filter
过滤并返回新数组 只取自己需要的
const arr = [1,2,3,2]
var flag = arr.filter(v=>{
if(v>2)
return v
})
console.log(flag); //[3]
find
找到并返回数组元素,不会生成新数组
const arr = [1,2,3,2]
var flag = arr.find(v=>{
return v>2
})
console.log(arr); // [1,2,3,2]
console.log(flag); //3
findIndex
找到并返回数组元素索引,不会生成新数组
const arr = [1,2,3,2]
var flag = arr.find(v=>{
return v>2
})
console.log(arr); // [1,2,3,2]
console.log(flag); //2
flatMap
只能拉平二维数组
const arrs = [1,2,3,[5,1],[[1]]]
var flag = arrs.flatMap(v=>{
return v
})
console.log(arrs); //[1,2,3,[5,1],[[1]]]
console.log(flag) //[ 1, 2, 3, 5, 1, [ 1 ] ]
const arrs = [1,2,3,[5,1],[1]]
var flag = arrs.flatMap(v=>{
return v
})
console.log(arrs); //[1,2,3,[5,1],[[1]]]
console.log(flag) //[ 1, 2, 3, 5, 1, 1 ]]
reduce
不改变原数组
求和
const arr = [1,2,3,2]
var flag = arr.reduce((sum,v)=>{
return sum+v
})
console.log(arr); // [1,2,3,2]
console.log(flag) //8
不改变原数组,合并二维数组
var arr1 = [[0,1],[2,3],[4],5]
var arr2 = arr1.reduce((a,b)=>{
return a.concat(b)
})
console.log(arr1); //[ [ 0, 1 ], [ 2, 3 ], [ 4 ], 5 ]
console.log(arr2); //[ 0, 1, 2, 3, 4, 5 ]
合并二维数组
var arr1 = [[0,1],[2,3],[4],5]
var arr2 = arr1.join().split(',')
console.log(arr2); //[ '0', '1', '2', '3', '4', '5' ]
标签:arr,遍历,console,log,flag,数组,var,return,方法
From: https://www.cnblogs.com/wszzj/p/16728761.html