js从一个数组(数组对象)中删除另一个数组(数组对象)中存在的元素
arr1:[{ id: 11 }, { id: 22 }, { id: 33 }, { id: 44 }];
arr2::[{ id: 11 }, { id: 22 },];
const arr = arr1.filter(x => !arr2.some(y => y.id === x.id ))
或
const arr = arr1.filter(x => arr2.every(y => y.id !== x.id ))
推荐some,因为some只有找到一个满足条件的元素, 则终止循环。
js从一个数组(数组对象)中找出另一个数组(数组对象)中不同的元素
arr1:[{ id: 11 }, { id: 33 }, { id: 44 }];
arr2::[{ id: 11 }, { id: 111 }, { id: 22 },];
const arr__1 = arr1.filter(x => !arr2.some(y => y.id === x.id ))
const arr__2 = arr2.filter(x => !arr1.some(y => y.id === x.id ))