Add accumulate

This commit is contained in:
Angelos Chalaris
2020-05-04 12:20:46 +03:00
parent 2b94399bb4
commit b3e2b52991

17
snippets/accumulate.md Normal file
View File

@ -0,0 +1,17 @@
---
title: accumulate
tags: math,array,beginner
---
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.
```js
const accumulate = (...nums) => nums.reduce((acc, n) => [...acc, n + +acc.slice(-1)],[]);
```
```js
accumulate(1, 2, 3, 4); // [1, 3, 6, 10]
accumulate(...[1, 2, 3, 4]); // [1, 3, 6, 10]
```