30秒学会 JavaScript 片段 · 2019年12月11日

30秒学会 JavaScript 片段 – accumulate

Returns an array of partial sums.

Use Array.prototype.reduce(), Array.prototype.slice(-1) and the unary + operator to add each value to the unary array containing the previous sum.

代码片段

const accumulate = (...nums) => nums.reduce((acc, n) => [...acc, n + +acc.slice(-1)],[]);

使用样例

accumulate(1, 2, 3, 4); // [1, 3, 6, 10]
accumulate(...[1, 2, 3, 4]); // [1, 3, 6, 10]