JS -> 分类总结JavaScript数组遍历方法

208 阅读1分钟

不会改变原数组

  • array.forEach(function(currentValue, index, arr), thisValue)
    此方法会将数组中的每个元素执行一次回调方法,用途:根据数组中某些元素的条件,来进行某些操作,返回值:undefined
    var arr = [1,5,8,9]
    arr.forEach(function(item, index, arr) {
        console.log(item);
    })
    
  • array.filter(function(currentValue,index,arr), thisValue) 此方法会将数组中的每个元素执行一次回调方法,返回一个数组,包含符合条件的元素
 var arr = [1,5,8,9]
 let filterArr = arr.filter(function(item) {
     return item > 6
 })

 console.log(filterArr)  // [8, 9]
  • array.map(function(currentValue,index,arr), thisValue) , 此方法会将数组中的每个元素执行一次回调方法,返回一个数组,包含每个元素处理后的值
    var arr = [4, 9, 16, 25];
     let mapArr = arr.map(function(item) {
         return item + 6
     })
    

console.log(mapArr, arr)


* ```array.some(function(currentValue,index,arr),thisValue)```  
依次执行数组的每个元素,**如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测;如果没有满足条件的元素,则返回false。用于:检测数组中的元素是否满足指定条件**

var arr = [4, 9, 16, 25]; let result = arr.some(function(item) { return item > 10 })

console.log(result) // true


* ```array.every(function(currentValue,index,arr),thisValue)```  
此方法会将数组中的每个元素执行一次回调方法,**全部元素满足条件,结果为true,作用:用于检测元素是否全部满足指定条件**

var arr = [4, 9, 16, 25]; let result = arr.every(function(item) { return item > 5 })

console.log(result) // false


* ```array.reduce(function(total, currentValue, currentIndex, arr), initialValue)```   
  **  作用:将数组从左到右进行累加**

var arr = [4, 9, 16, 25]; let sumScore = arr.reduce(function(total,score){ return total + score; })

console.log(sumScore); // 54