Files
30-seconds-of-code/snippets/reduceSuccessive.md
2022-05-14 15:55:07 +03:00

708 B

title, tags, expertise, cover, firstSeen, lastUpdated
title tags expertise cover firstSeen lastUpdated
Array of successive values array intermediate blog_images/laptop-view.jpg 2018-01-24T16:38:08+02:00 2020-10-22T20:24:04+03:00

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]