Applies a function against an accumulator and each element in the array (from left to right), returning an array of successively reduced values.
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), val, i, arr)), res), [acc] );
reduceSuccessive([1, 2, 3, 4, 5, 6], (acc, val) => acc + val, 0); // [0, 1, 3, 6, 10, 15, 21]
Returns the symmetric difference between two arrays, after applying the provided function to each array element of both.
fn to each value in
arr, splitting it each time the provided function returns a new value.
Returns the difference between two arrays, after applying the provided function to each array element of both.