我有一堆具有相同键的值,这些值嵌套在我的VueJS组件的data() {}
返回内的相邻对象中。
示例:
data() {
return {
foo: {
userScore: 10,
computerScore: 5
},
bar: {
userScore: 22,
computerScore: 100
}
}
}
添加bar.userScore
和foo.userScore
而不必每次都写出完整JSON路由的最佳/最有效方法是什么? (我为此编写的组件具有大约40+的分数,因此在计算中进行死记加法似乎有点奇怪)
是否可以访问这些相同的属性,例如*.userScore
?
感谢阅读!
答案 0 :(得分:2)
您可以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)