Files
30-seconds-of-code/snippets/accumulate.md
2022-03-22 12:58:05 +02:00

742 B

title, tags, expertise, author, firstSeen, lastUpdated
title tags expertise author firstSeen lastUpdated
Partial sum array math,array intermediate chalarangelo 2020-05-04T12:20:46+03:00 2022-01-30T13:10:13+02:00

Creates an array of partial sums.

  • Use Array.prototype.reduce(), initialized with an empty array accumulator to iterate over nums.
  • Use Array.prototype.slice() to get the previous partial sum or 0 and add the current element to it.
  • Use the spread operator (...) to add the new partial sum to the accumulator array containing the previous sums.
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]