reduce(收斂):接收一個回調函數作為累加器,數組中的每個值(從左到右)開始縮減,最終為一個值,是ES5中新增的又一個數組逐項處理方法。 reduce(callback,initialValue) callback(一個在數組中每一項上調用的函數,接受四個函數:) previousValue(上 ...
reduce(收斂):接收一個回調函數作為累加器,數組中的每個值(從左到右)開始縮減,最終為一個值,是ES5中新增的又一個數組逐項處理方法。
reduce(callback,initialValue)
callback(一個在數組中每一項上調用的函數,接受四個函數:)
-
- previousValue(上一次調用回調函數時的返回值,或者初始值)
- currentValue(當前正在處理的數組元素)
- currentIndex(當前正在處理的數組元素下標)
- array(調用reduce()方法的數組)
initialValue(可選的初始值。作為第一次調用回調函數時傳給previousValue的值)
//基本數組的求和
let arr1 = [1,2,3,4,5,6,7];
let sum = arr.reduce((pre,next)=>{
return pre+next;
});
console.log(sum);
//用於對象數組的求和就需用到第二個參數 let arr1 = [{count:3,price:2},{count:1,price:5},{count:5,price:1}]; let sum = arr.reduce((pre,next)=>{ return pre+next.count*next.price; },0);//0作為第一次遍歷pre的值,相當於在數組前插入0這個元素 console.log(sum);