下面是一个示例对象数组:
[{Name : Deji, Age: 12}, {Name : Sonia, Age 13}, {Name : Fabio, Age: 21}]
如何以增加数组中人员年龄的方式遍历数组。
是否有可以累计播放器年龄的功能?
答案 0 :(得分:2)
使用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);
答案 1 :(得分: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)
&#13;
使用forEach遍历每个对象,获取元素并访问Age属性,然后添加它。
答案 2 :(得分:1)
首先,你的JSON不是有效的,应该是,
[{ &#34;姓名&#34;:&#34; Deji&#34;, &#34;年龄&#34;:12},{ &#34;姓名&#34;:&#34; Sonia&#34;, &#34;年龄&#34;:13},{ &#34;姓名&#34;:&#34; Fabio&#34;, &#34;年龄&#34;:21}]
使用angularjs,你可以使用 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');
});
&#13;
<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>
&#13;
答案 3 :(得分: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);