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

例:

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


添加bar.userScorefoo.userScore而不每次都写出完整的JSON路由的最佳/最有效方法是什么? (我为此编写的组件具有约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)

09-07 05:14