可以使用 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 是否相等。如果相等,则说明两个对象重合,应该被过滤掉。

js-获取两个数组对象不重合部分

原文地址: https://www.cveoy.top/t/topic/lW9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录