reduce() or reduceRight()

  • 方法會依據指定的函式,從左到右或從右到左,結合陣列中的元素,最後回傳一個值

  • 方法將一個累加器及陣列中每項元素(由左至右)傳入回呼函式,將陣列化為單一值

  • 類似foreach +暫存

  • 根據取出每個值與暫存做運算,回傳結果

  • ex:把書及價錢加到暫存裡=>總價

array.reduce(function(accumulator, currentValue, currentIndex, array){},initial Value)
accumulator:累加器,為前次函式所回傳的先前值或者是初始值。
currentValue:目前處理元素的值。
currentIndex:目前處理元素的索引值。有給定初始值,由0開始,無初始值則由1開始。
initial Value:初始值。
let testArray = [2, 3, 4, 5, 6];
let reduceArray = testArray.reduce(function(accumulator, currentValue){
    return accumulator + currentValue;
});
console.log(reduceArray); //20
const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) => accumulator + currentValue;

// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10

// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));
// expected output: 15

results matching ""

    No results matching ""