Array.prototype.reduce()
, initialized with an empty array accumulator to iterate over nums
.Array.prototype.slice(-1)
, the spread operator (...
) and the unary +
operator to add each value to the accumulator array containing the previous sums.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]
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️