vue遍历数组对象 如果里面的值一样就合并在一起
时间: 2024-02-03 16:11:17 浏览: 182
可以使用Vue的计算属性(computed)来实现遍历数组对象并将相同值合并的功能。具体步骤如下:
1. 在Vue组件中定义一个数组对象,例如:
```
data() {
return {
items: [
{ id: 1, name: 'Apple', value: 10 },
{ id: 2, name: 'Banana', value: 20 },
{ id: 3, name: 'Apple', value: 30 },
{ id: 4, name: 'Orange', value: 40 },
{ id: 5, name: 'Banana', value: 50 }
]
}
}
```
2. 定义一个计算属性,用来将相同的name合并在一起,例如:
```
computed: {
mergedItems() {
const result = []
this.items.forEach(item => {
const index = result.findIndex(r => r.name === item.name)
if (index < 0) {
result.push({ name: item.name, value: item.value })
} else {
result[index].value += item.value
}
})
return result
}
}
```
3. 在模板中使用计算属性,例如:
```
<div v-for="(item, index) in mergedItems" :key="'item-' + index">
{{ item.name }}: {{ item.value }}
</div>
```
这样就可以将相同name的值合并在一起,并在模板中展示出来。
阅读全文