Create an array of cumulative sum
JavaScript version
const accumulate = (arr) =>
arr.map(
(
(sum) => (value) =>
(sum += value)
)(0)
);
const accumulate = (arr) => arr.reduce((a, b, i) => (i === 0 ? [b] : [...a, b + a[i - 1]]), [0]);
TypeScript version
const accumulate = (arr: number[]): number[] =>
arr.map(
(
(sum) => (value: number) =>
(sum += value)
)(0)
);
const accumulate = (arr: number[]): number[] => arr.reduce((a, b, i) => (i === 0 ? [b] : [...a, b + a[i - 1]]), [0]);
Example
accumulate([1, 2, 3, 4]);