【发布时间】:2017-09-29 22:37:38
【问题描述】:
我正在开发一个小型应用程序,我有一个包含对象的数组,在对象 2 属性中,一个称为“标签”,一个称为“值”。我想要的是把属性'value'的所有值加起来,这样我就有一个总值。
Vue/JS
data() {
totalRequest: 0,
donutData: [
{ label: 'Openstaande verzoeken', value: 20 },
{ label: 'Geaccepteerde verzoeken', value: 25 },
{ label: 'Afgewezen verzoeken', value: 10 }
],
},
created() {
this.totalRequest = //here goes the function to add up all value's of the property 'value' (total value should be 55)
}
HTML
total value {{ totalRequest }}
所以在这个例子中,我有 3 个对象,总价值为 55(所有 3 个属性“值”)。我怎样才能做到这一点?提前致谢。
dashton 的回答,为 vue 转载
created() {
this.totalRequest = this.donutData.reduce((acc, item) => acc + item.value, 0);
}
【问题讨论】:
-
Array.Reduce 就是您所需要的。
donutData.Reduce( (acc, item) => { return acc += item.value; }, 0); -
我已经用 Array.Reduce 试过了,但是没有用。对象可能吗?我需要对象中的第二个属性。
标签: javascript arrays vue.js vuejs2