Lodash _.transform() Method

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 varobject = [12, 13, 14];     // Using the _.transform() methodlet st_elem = _.transform(object,             function(result, n) {  result.push(n *= n);  returnn % 2 == 0;}, []);// Printing the output console.log(st_elem); | 
Output:
144, 169
Example 2:
javascript
| // Requiring the lodash library const _ = require("lodash"); // Original array varobject = { '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.
 
				 
					


