关于求a中是否包含b中数据的问题,

有这样一组数据

data:{
    "a":[
        {
        id:'1'
        },
        {
        id:'2'
        },
        {
        id:'3'
        },
        {
        id:'4'
        }
    ],
    "b":[
    '1',
    '3'
    ]
}

用什么方法可以判断出a中的id包含b中的数据
因为需要用v-for遍历 展示出1234,如果b里有的 则不展示

阅读 408
评论
    5 个回答
    • 334

    取相同: a.filter(v => b.includes(v.id))
    取不同: a.filter(v => !b.includes(v.id))

      循环a 每项加个状态 a[i].status=true
      里面判断 b.indexOf(a[i].id)>-1 true说明b中存在 a[i].status=false
      v-for循环根据status 展示

        • 9k
        {
          computed: {
            bset() {
              return new Set(this.b)
            }
          }
        }

        判断时 v-if="bset.has(aitem.id)"

          对a进行v-for循环的时候判断一下每一项的id是否包含在b中
          比如

          <div v-for='item in a' :key='item.id' v-if='!b.includes(item.id)'></div>

          大致就是这样

            计算属性+filter处理. 参照 @Evil 的就好

              撰写回答

              登录后参与交流、获取后续更新提醒

              相似问题
              推荐文章