下面,我重现我的代码以计算食物的平均评分。
3 + 4 + 5 + 2 // 4应该等于3.5。
但这不能给我正确的输出。我的代码有什么问题?
const ratings = [
{food:3},
{food:4},
{food:5},
{food:2}
];
let food = 0;
ratings.forEach((obj,index)=>{
food = (food + obj.food)/++index
})
console.log("FOOD",food)
最佳答案
尽管有几个答案,我还是想增加我的注意力以提高代码质量:
forEach()
中使用分解来获取对象的food
属性,因为这只是您感兴趣的属性。 +=
这样的简写形式来求和。 forEach()
中创建单个行代码const ratings = [
{food:3},
{food:4},
{food:5},
{food:2}
];
let foodTotal = 0;
let length = ratings.length;
ratings.forEach(({food})=> foodTotal += food);
console.log("FOOD",foodTotal/length);
关于javascript - 如何从对象数组中获取平均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52513123/