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 ]