LoDash:减少角度返回0

时间:2014-09-24 17:38:16

标签: javascript lodash

在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将总计变量添加到对象中吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

您希望在_.reduce来电中进行回调。它看起来像这样:

$scope.corn.fertilizer.total = _.reduce($scope.corn.fertilizer, function(total, num) {
  return total + num;
});

第一个参数是集合,第二个参数是回调。回调需要一些参数,第一个是“累加器”(如果没有定义,它将是集合的第一个元素,这个例子就是这个例子),第二个是项目的值。集合,第三个是密钥或索引(不需要)。