vue 找到对象相似的值制空

在Vue中,如果你想要找到数组中具有相似值的对象并将其设置为空,你可以使用一个方法来遍历数组并检查每个对象的特定属性值。如果发现相似值,就将对应的对象设置为空。以下是一个简单的例子: 


<template>
  <div>
    <ul>
      <li v-for="item in items" :key="item.id">
        {{ item.name }}
      </li>
    </ul>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      items: [
        { id: 1, name: 'Apple' },
        { id: 2, name: 'Banana' },
        { id: 3, name: 'Orange' },
        { id: 4, name: 'Apple' }
      ]
    };
  },
  mounted() {
    this.findAndReplaceSimilarObjects();
  },
  methods: {
    findAndReplaceSimilarObjects() {
      const map = new Map();
      this.items = this.items.filter(item => {
        const key = item.name;
        if (map.has(key)) {
          // 如果map中已经有了这个key,则不保留当前对象,并将其设置为空
          return false;
        } else {
          // 如果map中没有这个key,则将它添加到map中
          map.set(key, true);
          return true;
        }
      }).map(item => {
        // 这里可以添加更多的逻辑来决定是否将对象设置为空
        return item;
      });
    }
  }
};
</script>

在这个例子中,findAndReplaceSimilarObjects 方法会遍历 items 数组,使用 Map 来追踪已经遇到的 name 值。如果发现相同的 name 值,则对应的对象会被过滤掉,也就是说它们会在渲染列表中不存在。在实际的应用中,你可以根据需要调整比较逻辑和设置空对象的时机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值