Array of successive values

OSCC · JavaScript, Array · Oct 22, 2020

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

  • Use Array.prototype.reduce() to apply the given function to the given array, storing each new result.
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]

Recommended snippets

  • Returns the symmetric difference between two arrays, after applying the provided function to each array element of both.

  • Partition array

    JavaScript, Array

    Applies fn to each value in arr, splitting it each time the provided function returns a new value.

  • Mapped array difference

    JavaScript, Array

    Returns the difference between two arrays, after applying the provided function to each array element of both.