Diferencia e intersección de dos matrices que contienen objetos
Tengo dos matriceslist1
ylist2
que tienen objetos con algunas propiedades;userId
es el Id o propiedad única:
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, us,erName: 'AAAA' }
]
Estoy buscando una manera fácil de ejecutar las siguientes tres operaciones:
list1 operation list2
debe devolver la intersección de elementos:
[
{ userId: 1235, userName: 'ABC' },
{ userId: 1236, userName: 'IJKL' }
]
list1 operation list2
debería devolver la lista de todos los elementos delist1
que no ocurren enlist2
:
[
{ userId: 1234, userName: 'XYZ' },
{ userId: 1237, userName: 'WXYZ' },
{ userId: 1238, userName: 'LMNO' }
]
list2 operation list1
debería devolver la lista de elementos delist2
que no ocurren enlist1
:
[
{ userId: 1252, userName: 'AAAA' }
]