Javascript 我有一个对象数组,每个对象里面都有一个称为分数的键,我需要找到每个分数的总和,并将其放入一个数组中
我的控制台显示所有分数的总和,但我希望它打印32和35,而不是65。最终的结果是我想把每个总数放入一个数组中 变量peopleArray=[ { 姓名:赫克托·巴尔德斯, 照片:, 分数:[ 5, 1, 4, 4, 5, 1, 2, 5, 4, 1 ] }, { 姓名:泰勒·威廉姆斯, 照片:, 分数:[ 5, 1, 4, 4, 5, 2, 2, 5, 4, 1 ] } ] 设total=0; 对于i=0;iJavascript 我有一个对象数组,每个对象里面都有一个称为分数的键,我需要找到每个分数的总和,并将其放入一个数组中,javascript,Javascript,我的控制台显示所有分数的总和,但我希望它打印32和35,而不是65。最终的结果是我想把每个总数放入一个数组中 变量peopleArray=[ { 姓名:赫克托·巴尔德斯, 照片:, 分数:[ 5, 1, 4, 4, 5, 1, 2, 5, 4, 1 ] }, { 姓名:泰勒·威廉姆斯, 照片:, 分数:[ 5, 1, 4, 4, 5, 2, 2, 5, 4, 1 ] } ] 设total=0; 对于i=0;iparseInta+parseIntb,0 } console.logtot
const result = peopleArray.map((value) => {
return {
name: value.name,
score: value.scores.reduce((total, score) => total + Number(score), 0)
}
})
console.log(result);
试试这个
您需要在第一个循环中移动total,然后只需要在数组中添加一个新的total对象
试试这个,希望对你有帮助
let scoresArr = peopleArray.map(data => {
return data.scores.reduce((a,b) => parseFloat(a) + parseFloat(b), 0)
})
console.log(scoresArr)
这太简单了,但我想不起来。谢谢。@TylerWilliams如果它解决了你的问题,请标记为正确答案。它也可以帮助其他人。
let scoresArr = peopleArray.map(data => {
return data.scores.reduce((a,b) => parseFloat(a) + parseFloat(b), 0)
})
console.log(scoresArr)