js-获取两个数组对象不重合部分
可以使用 filter() 方法和 includes() 方法来获取两个数组对象不重合部分。
示例代码如下:
const arr1 = [{ id: 1, name: 'Tom' }, { id: 2, name: 'Jerry' }, { id: 3, name: 'Mike' }];
const arr2 = [{ id: 2, name: 'Jerry' }, { id: 4, name: 'John' }, { id: 5, name: 'Mary' }];
const diffArr1 = arr1.filter(obj1 => !arr2.some(obj2 => obj1.id === obj2.id));
const diffArr2 = arr2.filter(obj1 => !arr1.some(obj2 => obj1.id === obj2.id));
console.log(diffArr1); // [{ id: 1, name: 'Tom' }, { id: 3, name: 'Mike' }]
console.log(diffArr2); // [{ id: 4, name: 'John' }, { id: 5, name: 'Mary' }]
这里使用了 filter() 方法过滤出 arr1 中不包含在 arr2 中的对象,以及过滤出 arr2 中不包含在 arr1 中的对象。在过滤的过程中,使用了 some() 方法来判断两个对象的 id 是否相等。如果相等,则说明两个对象重合,应该被过滤掉。
原文地址: https://www.cveoy.top/t/topic/lW9 著作权归作者所有。请勿转载和采集!