2017-09-16 55 views

回答

2

首先你JSON是不是一个有效的,它应该是,

[{ “名称”: “德基”, “时代”:12},{ “名称”: “索尼娅”, “时代”:13},{ “名称”: “法比奥”, “时代”:21}]

随着angularjs可以JUSE使用array.reduce函数来计算总。

DEMO

angular.module('MyModule', []) 
 
.controller('MyController', function($scope){ 
 
$scope.data = [ 
 
    { 
 
    "Name": "Deji", 
 
    "Age": 12 
 
    }, 
 
    { 
 
    "Name": "Sonia", 
 
    "Age": 13 
 
    }, 
 
    { 
 
    "Name": "Fabio", 
 
    "Age": 21 
 
    } 
 
];  
 
$scope.sum = function(items, prop){ 
 
     return items.reduce(function(a, b){ 
 
      return a + b[prop]; 
 
     }, 0); 
 
}; 
 
$scope.totalAges = $scope.sum($scope.data, 'Age'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app='MyModule' ng-controller='MyController'> 
 
    <p>totalAges = {{totalAges}}</p> 
 
</div>

2

使用Array#forEachArray#reduce来迭代数组项并将每个玩家的年龄添加到您的变量。

的forEach

const players = [{Name : 'Deji', Age: 12}, {Name : 'Sonia', Age: 13}, {Name : 'Fabio', Age: 21}]; 
 

 
let age = 0; 
 

 
players.forEach(player => age += player.Age); 
 

 
console.log(age);

减少

const players = [{Name : 'Deji', Age: 12}, {Name : 'Sonia', Age: 13}, {Name : 'Fabio', Age: 21}]; 
 

 
const age = players.reduce((sum, player) => sum + player.Age, 0); 
 

 
console.log(age);

1

var players = [{Name : 'Deji', Age: 12}, {Name : 'Sonia', Age : 13}, {Name : 'Fabio', Age: 21}]; 
 
var age = 0; 
 
players.forEach(function(el){ 
 
age+=el.Age; 
 
}) 
 
console.log(age)

遍历使用forEach每个对象,获得元素和访问Age属性,并添加它。

0

试试这个

var a = [{Name : 'Deji', Age: 12}, {Name : 'Sonia', Age : 13}, {Name : 'Fabio', Age: 21}]; 

var sum = 0; 
for(var i of a){ 

sum += i.Age; 

} 

console.log(sum);