大家好

最近突然想到

javascript 中要如何依序針對 list 中的元素,由前到後處理後成為一個新的值?

可以用 reduce

例如以下這樣

var numbers = [1, 2, 3, 4];
var startAccumulator = 1; // 起始數值
// 計算總和
var sum = numbers.reduce(function (accumulator, current) {
    // accumulator 前面的數值
    // current 下一個數值
    return accumulator + current; // 這個會變成下一個的 accumulator
}, startAccumulator);

console.log(sum); // 1(起始數值) + 1 + 2 + 3 + 4 = 11
重點是起始值 startAccumulator 是可以設定的

給大家參考囉