_.transform(object, [iteratee=_.identity], [accumulator])
An alternative to _.reduce
; this method transforms object
to a new accumulator
object which is the result of running each of its own enumerable string keyed properties thru iteratee
, with each invocation potentially mutating the accumulator
object. If accumulator
is not provided, a new object with the same [[Prototype]]
will be used. The iteratee is invoked with four arguments: (accumulator, value, key, object). Iteratee functions may exit iteration early by explicitly returning false
.
Since
1.3.0
Arguments
-
object
(Object): The object to iterate over. -
[iteratee=_.identity]
(Function): The function invoked per iteration. -
[accumulator]
(*): The custom accumulator value.
Returns
(*): Returns the accumulated value.
Example
_.transform([2, 3, 4], function(result, n) { result.push(n *= n); return n % 2 == 0; }, []); // => [4, 9] _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { (result[value] || (result[value] = [])).push(key); }, {}); // => { '1': ['a', 'c'], '2': ['b'] }
Please login to continue.