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 | */
|
11 | function 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 |
|
22 | module.exports = arrayAggregator;
|