UNPKG

@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
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; }