1. 程式人生 > >map()方法、reduce()方法和filter()方法的使用

map()方法、reduce()方法和filter()方法的使用

map()方法返回一個經過回撥函式處理過的新陣列,不會改變原數陣列的值

var arr = [1,2,3,4]
   var newArr = arr.map(function(i) {
       return ++i
   })
   console.log("原陣列"+arr)
   console.log("新陣列"+newArr)


reduce()方法接收一個函式作為累加器,陣列中的每個值(從左到右)開始縮減,最終計算為一個值。不會改變原陣列的值。

var arr = [1,2,3,4]
var b = arr.reduce(function(total,i) {
      return total + i
}, 0)
console.log(b) 

該方法每次返回  縮減處理後的總值與當前值再做處理 直到陣列長度為零結束。

reduce方法的第二個引數number值為該方法第一次做處理的初始值,相當於為total初始值


filter()方法建立一個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。

var arr = [1,2,3,4]
   var b = arr.filter(function(i) {
        return i >3
        }, 0)   
   console.log(arr)
   console.log(b)