两个数组去重的JS代码

 

 

const list1 = [
    {id: 0, name: 'xiaomin'},
    {id: 1, name: 'xiaohong'},
];
const list2 = [
    {id: 0, name: 'xiaomin'},
    {id: 1, name: 'xiaohong'},
    {id: 3, name: 'xiaomin'},
    {id: 4, name: 'xiaohong'},
];
// 首先构造Object
const idSet = list1.reduce((acc, v) => {
    acc[v.id] = true;
    return acc;
}, {});
// 遍历list2,去掉在idSet中存在的id
const result = list2.filter(v => !idSet[v.id]);

第二种方法

var result = list2.filter(function(item1) {
     return list1.every(function(item2) {
       return item2.id !== item1.id
     })
 })
 console.log(result);

 

posted @ 2022-02-13 00:17  土小狗  阅读(493)  评论(0编辑  收藏  举报