語法:
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
未設置initialValue值時
首次運行prev
對應 arr[0]
,current
對應arr[1]
;
總共執行次數是arr.length - 1
let arr = [{num: 1}, {num: 2}, {num: 3}];
let obj = arr.reduce((prev, current)=>{
console.log(prev, current); //{num: 1} {num: 2}
return {num: prev.num + current.num};
});
設置initialValue值時
首次運行prev
對應 initialValue
,current
對應arr[0]
;
總共執行次數是arr.length
let arr = [{num: 1}, {num: 2}, {num: 3}];
let num = arr.reduce((prev, current)=>{
console.log(prev, current); //0 {num: 1}
return prev + currentValue.num;
}, 0);