2017-09-16 54 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);