javascript - 如何组合对象数组中的每个值?

标签 javascript

我目前正在做一个简单的掷骰子应用程序,我有以下对象:

die = [
  {
    ofWhat: 6,
    score: [6]
  },
  {
    ofWhat: 6,
    score: [1] 
  },
  {
    ofWhat: 6,
    score: [5] 
  }
]

我想获取每个分数并将它们组合成一个值,以便我可以看到该数组中每个分数的总和。

像这样: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);

关于javascript - 如何组合对象数组中的每个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58643701/

相关文章:

javascript - 为什么在 Javascript 实例化之前无法访问对象属性

javascript - Angular Material Design 具有强制选择功能的自动完成文本框

javascript - ng-repeat 中缺少的元素

javascript - 是否可以像字符串一样操作/操作函数?

Javascript:为什么 jQuery 这样做:(function(){ ...});,它是如何工作的?

javascript - 如何格式化值数组以形成 google-charts 直方图的分布?

javascript - 我可以安装 jsonp 代理网络应用程序吗?

javascript - 如何使用 Javascript 或 HTML 将裁剪后的图像作为新图像?

php - 动态 JavaScript 表单,无 HTML 表单

javascript - CasperJS脚本完成后删除cookies文件