1/** 2 * A specialized version of `baseAggregator` for arrays. 3 * 4 * @private 5 * @param {Array} [array] The array to iterate over. 6 * @param {Function} setter The function to set `accumulator` values. 7 * @param {Function} iteratee The iteratee to transform keys. 8 * @param {Object} accumulator The initial aggregated object. 9 * @returns {Function} Returns `accumulator`. 10 */ 11function arrayAggregator(array, setter, iteratee, accumulator) { 12 var index = -1, 13 length = array == null ? 0 : array.length; 14 15 while (++index < length) { 16 var value = array[index]; 17 setter(accumulator, value, iteratee(value), array); 18 } 19 return accumulator; 20} 21 22module.exports = arrayAggregator; 23