下面是一個對象的樣本陣列:如何通過對象的數組迭代,並添加了屬性
[{Name : Deji, Age: 12}, {Name : Sonia, Age 13}, {Name : Fabio, Age: 21}]
如何通過陣列中作爲加起來的年齡這樣的方式進行迭代陣列中的人。
有沒有可以加起來玩家年齡的功能?
下面是一個對象的樣本陣列:如何通過對象的數組迭代,並添加了屬性
[{Name : Deji, Age: 12}, {Name : Sonia, Age 13}, {Name : Fabio, Age: 21}]
如何通過陣列中作爲加起來的年齡這樣的方式進行迭代陣列中的人。
有沒有可以加起來玩家年齡的功能?
首先你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>
使用Array#forEach和Array#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);
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屬性,並添加它。
試試這個
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);