两个包含对象的数组的差异和交集
两个包含对象的数组的差异和交集
我有两个数组list1和list2,它们包含了一些具有一些属性的对象;userId是唯一的属性:
list1 = [
{ userId: 1234, userName: 'XYZ' },
{ userId: 1235, userName: 'ABC' },
{ userId: 1236, userName: 'IJKL' },
{ userId: 1237, userName: 'WXYZ' },
{ userId: 1238, userName: 'LMNO' }
]
list2 = [
{ userId: 1235, userName: 'ABC' },
{ userId: 1236, userName: 'IJKL' },
{ userId: 1252, userName: 'AAAA' }
]
我希望有一个简单的方法来执行以下三个操作:
1. list1 和 list2 的交集应该返回以下元素:
[
{ userId: 1235, userName: 'ABC' },
{ userId: 1236, userName: 'IJKL' }
]
2. list1 和 list2 的差集应该返回list1中不在list2中出现的所有元素:
[
{ userId: 1234, userName: 'XYZ' },
{ userId: 1237, userName: 'WXYZ' },
{ userId: 1238, userName: 'LMNO' }
]
3. list2 和 list1 的差集应该返回list2中不在list1中出现的所有元素:
[
{ userId: 1252, userName: 'AAAA' }
]