部分和数组
创建一个部分和数组。
- 使用
Array.prototype.reduce()
,初始化一个空数组累加器来遍历nums
。 - 使用
Array.prototype.slice()
获取前一个部分和或0
,并将当前元素添加到其中。 - 使用扩展运算符(
...
)将新的部分和添加到包含前面和的累加器数组中。
const accumulate = (...nums) =>
nums.reduce((acc, n) => [...acc, n + (acc.slice(-1)[0] || 0)], []);
accumulate(1, 2, 3, 4); // [1, 3, 6, 10]
accumulate(...[1, 2, 3, 4]); // [1, 3, 6, 10]