vue中写一个id对比相同,只返回对比后的数据
时间: 2023-05-20 16:06:54 浏览: 210
可以使用Vue的computed属性来实现这个功能。首先,你需要定义一个data属性,用来存储你的数据。然后,你可以使用computed属性来过滤这些数据,只返回id相同的数据。以下是一个示例代码:
```
<template>
<div>
<ul>
<li v-for="item in filteredData" :key="item.id">{{ item.name }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
data: [
{ id: 1, name: 'John' },
{ id: 2, name: 'Mary' },
{ id: 1, name: 'Bob' },
{ id: 3, name: 'Alice' },
],
};
},
computed: {
filteredData() {
const result = [];
const map = new Map();
for (const item of this.data) {
if (!map.has(item.id)) {
map.set(item.id, true);
result.push(item);
}
}
return result;
},
},
};
</script>
```
在这个示例中,我们使用了一个Map来存储已经出现过的id,然后过滤掉重复的数据,只返回id不同的数据。
阅读全文