两个包含对象的数组的差异和交集

14 浏览
0 Comments

两个包含对象的数组的差异和交集

我有两个数组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' }

]

0