📜  Lodash _.transform() 方法

📅  最后修改于: 2022-05-13 01:56:26.939000             🧑  作者: Mango

Lodash _.transform() 方法

Lodash 是一个基于 underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、集合、字符串、语言、函数、对象、数字等。
_.transform() 方法是 _.reduce() 方法的替代方法,将对象转换为新的累加器对象,这是通过 iteratee 运行其自己的每个可枚举字符串键控属性的结果,每次调用都可能改变累加器对象。如果没有提供累加器,将使用具有相同原型的新对象。
句法:

_.transform(object, iteratee, accumulator)

参数:此方法接受三个参数,如上所述,如下所述:

  • object:它保存要迭代的对象。
  • iteratee:它是该方法在每次迭代中为每个元素调用的函数。
  • 累加器:它保存自定义累加器值。

返回值:该方法返回累计值。
示例一:这里使用 const _ = require('lodash') 来导入文件中的 lodash 库。

javascript
// Requiring the lodash library
const _ = require("lodash");
 
// Original array
var object = [12, 13, 14];    
 
// Using the _.transform() method
let st_elem = _.transform(object,
            function(result, n) {
  result.push(n *= n);
  return n % 2 == 0;
}, []);
 
 
// Printing the output
console.log(st_elem);


javascript
// Requiring the lodash library
const _ = require("lodash");
 
// Original array
var object = { 'p': 3, 'q': 6, 'r': 3 };    
 
// Using the _.transform() method
let st_elem = _.transform(object,
    function(result, value, key) {
  (result[value] || (result[value] = [])).push(key);
}, {});
 
 
// Printing the output
console.log(st_elem);


输出:

144, 169

示例 2:

javascript

// Requiring the lodash library
const _ = require("lodash");
 
// Original array
var object = { 'p': 3, 'q': 6, 'r': 3 };    
 
// Using the _.transform() method
let st_elem = _.transform(object,
    function(result, value, key) {
  (result[value] || (result[value] = [])).push(key);
}, {});
 
 
// Printing the output
console.log(st_elem);

输出:

{ '3': ['p', 'r'], '6': ['q'] }

注意:此代码在普通 JavaScript 中不起作用,因为它需要安装库 lodash。