@nathanfaucett/array-reduce
Version:
applies a function against an accumulator and each value of the array (from left-to-right) to reduce it to a single value.
25 lines (17 loc) • 429 B
JavaScript
var isUndefined = require("@nathanfaucett/is_undefined");
module.exports = arrayReduce;
function arrayReduce(array, callback, initialValue) {
var il = array.length - 1,
value = initialValue,
i;
if (isUndefined(value)) {
value = array[0];
i = 0;
} else {
i = -1;
}
while (i++ < il) {
value = callback(value, array[i], i, array);
}
return value;
}