* Creates a function like `_.groupBy`. * * @private * @param {Function} setter The function to set accumulator values. * @param {Function} [initializer] The accumulator object initializer. * @returns {Function} Returns the new aggregator function.
(setter, initializer)
| 4909 | * @returns {Function} Returns the new aggregator function. |
| 4910 | */ |
| 4911 | function createAggregator(setter, initializer) { |
| 4912 | return function(collection, iteratee) { |
| 4913 | var func = isArray(collection) ? arrayAggregator : baseAggregator, |
| 4914 | accumulator = initializer ? initializer() : {}; |
| 4915 | |
| 4916 | return func(collection, setter, getIteratee(iteratee, 2), accumulator); |
| 4917 | }; |
| 4918 | } |
| 4919 | |
| 4920 | /** |
| 4921 | * Creates a function like `_.assign`. |