有没有一种方法可以对数组中所有给定的键求和?JS



所以我最近了解到可以将对象用作数组中的数据类型。所以我需要做的是循环这个数组,把每个年龄加起来,然后把年龄和除以数组的长度,得到所有人的平均年龄。问题是我不明白你怎么会调用给定的密钥。

我知道要调用第一个对象,需要写"people[0]",但我不知道如何从该对象中获取密钥并将其传递给函数。

let people=[ {name:'Don', Age:23},
{name:'Ron', Age:21}, 
{name:'Juan', Age:20}
]
// return /people.length

如果你想加上年龄,然后除以数组的长度得到平均值,在这种情况下,你可以简单地使用array.map((

let people=[ 
{name:'Don', Age:23},
{name:'Ron', Age:21}, 
{name:'Juan', Age:20}]
//Sum
let sum = 0;
//Map
people.map((value)=> { 
sum += value.Age; 
})
//Average Result
let avg_Age = sum / people.length
console.log('Average Age', avg_Age)

希望这能有所帮助。

let people=[ {name:'Don', Age:23},
{name:'Ron', Age:21}, 
{name:'Juan', Age:20}
];
var totalPeople = people.length;
var totalAge = 0
var averageAge = 0;
for (var key in people) {
// skip loop if the property is from prototype
if (!people.hasOwnProperty(key)) continue;
var obj = people[key];
for (var prop in obj) {
// skip loop if the property is from prototype
if (!obj.hasOwnProperty(prop)) continue;
if(prop == 'Age') {
totalAge += obj[prop];
}
}
}
averageAge = totalAge / totalPeople;
alert(averageAge);

您可以使用以下代码遍历对象和访问键:设sum=0;

for(let i=1;i<=people.length;i++) {
sum = sum + people[i-1].Age;
}
console.log(sum/people.length);
//output
21.333333333333332

您也可以使用foreach方法遍历数组。https://www.w3schools.com/jsref/jsref_obj_array.asp通过这里的链接,你可以找到数组/对象操作的所有方法。

要获取密钥,请调用Object.keys(people[0])

请看一下Object.keys方法https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

最新更新