UNPKG

@extra-array/accumulate-update

Version:
25 lines (22 loc) 499 B
'use strict'; /** * Produces accumulating values. * @param x an array (updated) * @param fr reduce function (acc, v, i, x) * @param acc initial value * @returns x */ function accumulate$(x, fr, acc) { var init = arguments.length <= 2; for (var i = 0, I = x.length; i < I; i++) { if (init) { acc = x[i]; init = false; } else acc = fr(acc, x[i], i, x); x[i] = acc; } return x; } module.exports = accumulate$;