下面是一个对象的样本阵列:如何通过对象的数组迭代,并添加了属性
[{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);