首页 > 解决方案 > 如何组合对象数组中的每个值?

问题描述

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

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)

标签: javascript

解决方案


尝试这个

        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);


推荐阅读