获取jsonobjectArray angular中的总数

时间:2017-06-22 07:18:46

标签: javascript angularjs

嗨,我真的不知道如何在获取jsonObjectArray时添加所有数字我在lodash中使用_.map并且每个都使用angular来获取jsonObjectArray中的数据< / p>

$scope.dataNumbers = _.map(result.numbers);
  angular.forEach($scope.dataNumbers, function(value, key) {
  console.log(value.allNumbers)
})

当我控制台时,这是响应(8.17,32.01,37.45)。

我试图像Number(value.allNumbers) + Number(value.allNumbers)一样添加它们,但结果是(16.34,64.02,74.9)

对不起基本问题

6 个答案:

答案 0 :(得分:2)

使用reduce代替

const result = {
    numbers: [8.17, 32.01 , 37.45]
};

const allNumbers = result.numbers.reduce((acc, curr) => {
    return acc + Number(curr);
}, 0);

console.log(allNumbers);

答案 1 :(得分:1)

您可以将其保存为$scope或全局js var

$scope.sumOfNum = 0;
$scope.dataNumbers = _.map(result.numbers);
  angular.forEach($scope.dataNumbers, function(value, key) {
  $scope.sumOfNum += Number(value.allNumbers);
  console.log(value.allNumbers);
  console.log($scope.sumOfNum);
});

答案 2 :(得分:1)

你可以在javascript中使用reduce函数,

var total=$scope.dataNumbers.reduce(function(total,num){
 return total+num
});

答案 3 :(得分:1)

使用angular.forEach循环result.numbers并添加

var _total;
angular.forEach(result.numbers, function(value) {
  _total += Number(value);
})
console.log(_total);

或使用reduce

$scope.total = result.numbers.reduce(function(total, curr) {
    return total + curr;
});

答案 4 :(得分:1)

如果你想计算$ scope.dataNumbers的allNumbers字段中存储的数字的总和,试试

<v-card transition="v-slide-y-transition">...</v-card>

答案 5 :(得分:0)

通常的方法来对json对象数组值进行求和

var totalNumbers = 0;
angular.forEach($scope.dataNumbers, function(value, key) {
  totalNumbers += parseInt(value);
});
console.log(totalNumbers);