javascript - 如何组合对象数组中的每个值?
问题描述
我目前正在做一个简单的掷骰子应用程序,我有以下对象:
die = [
{
ofWhat: 6,
score: [6]
},
{
ofWhat: 6,
score: [1]
},
{
ofWhat: 6,
score: [5]
}
]
我想得到每一个score
并将它们组合成一个值,这样我就可以看到这个数组中每个分数的总和。
像这样:6+1+5
我怎样才能做到这一点?
我尝试了什么:
total = 0;
this.die.forEach((die) => {
die.score.forEach((score) => {
this.total += score;
});
});
我得到 NaN
编辑:我在我的对象中犯了一个错误
die = [
{
ofWhat: 6,
score: [6]
},
{
ofWhat: 6,
score: [1]
},
{
ofWhat: 6,
score: [5]
}
]
total = 0;
this.die.forEach((die) => {
die.score.forEach((score) => {
this.total += score;
});
});
console.log(total)
解决方案
尝试这个
let die = [
{
ofWhat: 6,
score: [6]
},
{
ofWhat: 6,
score: [1]
},
{
ofWhat: 6,
score: [5]
}
];
let sum = 0;
die.forEach(i => {
i.score.forEach(val => {
sum += val;
});
});
console.log(sum);
推荐阅读
- weblog - Web 服务器日志数据中的最后一个字段是关于什么的?
- java - 如何“交换”数组中的两个值?
- visual-studio-code - ProcessException:进程“C:\Users\...\android\gradlew.bat”异常退出:
- java - Maven 在 Jenkins 上失败(目标存储库不能为空)但不是本地的
- wordpress - 如何在 Compute Engine 上为 1000 个活跃用户选择机器类型
- java - 如何让休眠不查询孩子?
- python - 如何在一个 for 语句中从头到尾访问项目
- amazon-web-services - Ansible 创建 aws 安全组并添加到实例
- javascript - 为什么 v-bind 参数不能引用对象中的变量?
- algorithm - 差异算法:根据实际成绩单获取口语音节的时间戳