在 VueJS 组件中将具有相同键的嵌套数据 () 对象值加在一起

Adding together nested data () object values with identical keys in VueJS Components

我有一堆具有相同键的值,这些值嵌套在我的 VueJS 组件的 data() {} return 中的相邻对象中。

示例:

data() { 
  return {
     foo: {
         userScore: 10,
         computerScore: 5
     },
     bar: {
         userScore: 22,
         computerScore: 100
     }
  }
}

添加 bar.userScorefoo.userScore 而不必每次都写出完整的 JSON 路由的 best/most 高效方法是什么? (我为此编写的组件有大约 40+ 这些分数,所以在计算中进行死记硬背似乎有点奇怪)

有没有办法访问这些相同的属性,例如 *.userScore ?

感谢阅读!

您可以reduce求和:

const sum = Object.keys(this.$data).reduce((sum, key) => {
  if (this.$data[key].hasOwnProperty('userScore')) {
    return (sum + this.$data[key].userScore)
  }
  return sum
}, 0)