【发布时间】:2019-08-26 09:59:06
【问题描述】:
我有一组有年龄的用户,我想得到用户的平均年龄。到目前为止,我尝试使用 reduce 来实现它,但它不会实现它不是 reduce 的正确语法。
这是我的代码:
let sam = { name: "Sam", age: 21 };
let hannah = { name: "Hannah", age: 33 };
let alex = { name: "Alex", age: 24 };
let users = [ sam, hannah, alex ];
function getAverageAge(array){
let sumAge = array.age.reduce(function(sum, current) {
return sum + current;
}, 0)
return (sumAge / (array.length + 1));
}
console.log( getAverageAge(users) ); // 21 + 33 + 24 / 3 = 26
在这种情况下,它应该返回 26。
【问题讨论】:
-
您正在迭代的对象是对象,而不是数字,因此
current将是一个对象 - 您必须访问对象的age属性才能获得数字(并更改 @987654326 @到(array.length) -
@CertainPerformance 我不想得到总和,我想得到一个平均值。
-
你需要得到总和才能得到平均值(至少,按照你的方法)
-
@robertHovhannisyan 如果你有总和,你也可以得到平均值,然后就是简单的数学。
-
@VaibhavVishal 对不起,我没有达到您的期望
标签: javascript arrays object reduce