transform
Object
since 1.3.0
Returns
* the accumulated value.
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.
Example of Lodash _.transform
_.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'] }