数组遍历的方法

数组遍历的方法

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' ]
posted @ 2022-09-25 20:24  张尊娟  阅读(33)  评论(0编辑  收藏  举报