Skip to content

Home

Array of successive values

Applies a function against an accumulator and each element in the array (from left to right), returning an array of successively reduced values.

const reduceSuccessive = (arr, fn, acc) =>
  arr.reduce(
    (res, val, i, arr) => (res.push(fn(res.slice(-1)[0], val, i, arr)), res),
    [acc]
  );

reduceSuccessive([1, 2, 3, 4, 5, 6], (acc, val) => acc + val, 0);
// [0, 1, 3, 6, 10, 15, 21]

More like this

Start typing a keyphrase to see matching snippets.