Lodash is a JavaScript library that works on the top of underscore.js. Lodash helps in working with arrays, collection, strings, lang, function, objects, numbers etc.
The _.transform() method is an alternative to _.reduce() method transforms object to a new accumulator object which is the result of running each of its own enumerable string keyed properties through iteratee with each invocation potentially mutating the accumulator object. A new object with the same prototype will be used if an accumulator is not provided.
Syntax:
_.transform(object, iteratee, accumulator)
Parameters: This method accepts three parameters as mentioned above and described below:
- object: It holds the object to iterate over.
- iteratee: It is the function that the method invoked per iteration for every element.
- accumulator: It holds the custom accumulator value.
Return Value: This method returns the accumulated value.
Example 1: Here, const _ = require(‘lodash’) is used to import the lodash library in the file.
javascript
// Requiring the lodash library const _ = require("lodash"); // Original array var object = [12, 13, 14]; // Using the _.transform() methodlet st_elem = _.transform(object, function(result, n) { result.push(n *= n); return n % 2 == 0;}, []);// Printing the output console.log(st_elem); |
Output:
144, 169
Example 2:
javascript
// Requiring the lodash library const _ = require("lodash"); // Original array var object = { 'p': 3, 'q': 6, 'r': 3 }; // Using the _.transform() methodlet st_elem = _.transform(object, function(result, value, key) { (result[value] || (result[value] = [])).push(key);}, {});// Printing the output console.log(st_elem); |
Output:
{ '3': ['p', 'r'], '6': ['q'] }
Note: This code will not work in normal JavaScript because it requires the library lodash to be installed.
