JS数组遍历

时间:2021-09-29 07:51:20

1. forEach()
  循环数组,不会改变元素,不会返回新数组

  arr.foreach((value,index)=>{})

2. map()

  遍历数组,对每个元素进行处理,之后返回元素;会返回一个新数组。

  var arr2 = arr.map((value,index)=>{value++ return value})

3. some()
  遍历数组,在回调函数里进行条件的判断,返回 true 或 false 。当有一个元素满足条件时就停止遍历并返回true;当全部的元素都不满足要求时,返回false

  var bool = arr.some((value,index)=>{return value>3})

4. every()
  遍历数组,同上。当有一个元素不满足条件时就停止遍历并返回false;当全部元素都满足时,返回true

  var bool = arr.every((value,index)=>{return value>3})

5. filter()

  遍历数组,在回调函数里进行条件判断,当结果为true时,将该元素返回,组成一个新数组。

  var arr2 = arr.filter((value,index)=>{return value>3})

  var arr2 = arr.filter((value,index)=>{ if(value>3){return true}  })

6. reduce()  //reudce:浓缩

  reduce(callback,init)  init为初始值。

  当init为空时,回调函数第一次执行的res是数组的第一个元素,value是第二个;第二次执行的时候res是第一次执行返回的内容,value是第三个元素;之后同第二次

  当init不为空时,回调函数第一次执行的res是init,value是第一个元素;当第二次执行时res是第一次执行返回的内容,value是第二个元素;第三次的value是第三个元素

  var result = arr.reduce((res,value)=>{res = res+value return res})

  var result = arr.reduce((res,value)->{res = res+value return res},100)