Lodash - transform 方法

语法

_.transform(object, [iteratee=_.identity], [accumulator])

_.reduce 的替代方法;此方法将对象转换为新的累加器对象,该对象是通过 iteratee 运行其自己的每个可枚举字符串键控属性的结果,每次调用都可能改变累加器对象。如果没有提供累加器,则将使用具有相同 [[Prototype]] 的新对象。iteratee 使用四个参数调用:(accumulator、value、key、object)。Iteratee 函数可以通过显式返回 false 来提前退出迭代。

参数

  • object (Object) −要迭代的对象。

  • [iteratee=_.identity] (函数) − 每次迭代调用的函数。

  • [accumulator] (*) − 自定义累加器值。

输出

  • (*) − 返回累积值。

示例

var _ = require('lodash');
var array = [1, 2, 3, 4];
var transformedResult = _.transform(array, function(result, n) {   
   result.push(n *= n);
   return n % 2 == 0;
}, []);
console.log(transformedResult);

将上述程序保存在tester.js中。运行以下命令执行该程序。

命令

\>node tester.js

输出

[ 1 ]

lodash_object.html