在Angular控制器中,我有:
$scope.corn = {
acres: 347.4,
fertilizer: {
arm: 0,
dist: 164.97,
other: 0
}
};
$scope.corn.fertilizer.total = _.reduce($scope.corn.fertilizer);
console.log($scope.corn);
在控制台中,我看到以下内容:
acres: 347.4
fertilizer: Object
arm: 0
dist: 164.97
other: 0
total: 0
我很确定语句“ _.reduce()不能正常工作”与事实相去甚远,因此,我改写为
有人可以向新的LoDash用户展示如何使用_.reduce将totals变量添加到对象中吗?
提前致谢!
最佳答案
您需要_.reduce
调用中的回调。它看起来像这样:
$scope.corn.fertilizer.total = _.reduce($scope.corn.fertilizer, function(total, num) {
return total + num;
});
第一个参数是集合,第二个参数是回调。回调函数带有一些参数,第一个是“累加器”(如果未定义,它将是集合的第一个元素,在本示例中就是这种情况),第二个是其中的项目值在集合中,第三个是键或索引(不需要)。