- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3小时前关门了。
Improve this question
在这里,我无法隐藏较低的标记字段
let result = [];
var Avgmarks = 0,i;
let students = [{name: "Student1",sub: {math: 80,eng: 50,science: 70}},{name: "Student2",sub:{math: 40,eng: 65,science: 85}}];
students.forEach( student => {
result.push({
name: student.name,
Subject: student.sub,
marks: Object.values(student.sub).reduce((a, b) => a + b),
Average: ( Object.values(student.sub).reduce((a, b) => (a + b)) ) / ( Object.values(student.sub).length )
})
});
console.log(result)
[{姓名:"学生1",主题:{数学:80,英语:50、理科:70},分数:200,平均值:120},{名称:"学生2",科目:{数学:40,英语:65、理科:85},标记:190,平均值:90个]
2条答案
按热度按时间px9o7tmv1#
你用
reduce
计算平均值的方法是错误的如果你知道总是会有三门课,你可以试试
如果对象长度可以变化
rhfm7lfc2#
可以使用student.sub中值的总和来计算平均值,而不是将总和除以300。例如: