
f5c37f484e3986abe0be71bf46a13496.jpeg
定義和用法
reduce() 方法接收一個函數(shù)作為累加器,數(shù)組中的每個值(從左到右)開始縮減,最終計算為一個值。
reduce() 可以作為一個高階函數(shù),用于函數(shù)的 compose。
注意: reduce() 對于空數(shù)組是不會執(zhí)行回調(diào)函數(shù)的
參數(shù)
function(total,currentValue, index,arr)
- total
必需。初始值, 或者計算結(jié)束后的返回值 - currentValue
必需。當(dāng)前元素 - index 可選。當(dāng)前元素的索引
- arr 可選。當(dāng)前元素所屬的數(shù)組對象
- initialValue 可選。傳遞給函數(shù)的初始值
案例
下面我們寫一個小案例,數(shù)字?jǐn)?shù)組的求和
const arr= [0,1,2,3,4,5],
let total = arr.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
console.log(total); //15
快去試試吧~