两个数组比较去重

/*
    * 两个数组比较去重
    * list1: 数组一
    * list2: 数组二,去除list2中 与list1重复的对象,返回剩下没有重复的对象
    * prop:比较的属性
    */ 
    arrayUnrepeat (list1, list2, prop = 'id') {
      // 首先构造Object
      const idSet = list1.reduce((acc, v) => {
        acc[v[prop]] = true;
        return acc;
      }, {});
      // console.log('构造Object', idSet)
      // 遍历list2,去掉在idSet中存在的id
      const result = list2.filter(v => !idSet[v[prop]]);
      const repeat = list2.filter(v => idSet[v[prop]]);
      // console.log('去重后的result', result)
      // console.log('重复的repeat', repeat)
      return {
        result,
        repeat
      }
    }
const newKey = new Set(carNoArr);  // key去重

 

posted @ 2022-04-01 17:39  front-gl  阅读(844)  评论(0编辑  收藏  举报