Let's say you have:
arr = [ { id:10, name: 'someName1' }, { id:10, name: 'someName2' }, { id:11, name: 'someName3' }, { id:12, name: 'someName4' } ]
So, to get unique items:
unique = arr .map(e => e['id']) .map((e, i, final) => final.indexOf(e) === i && i) .filter(obj=> arr[obj]) .map(e => arr[e]);
Then, result will be
unique = [ { id:10, name: 'someName1' }, { id:11, name: 'someName3' }, { id:12, name: 'someName4' } ]
And, to get duplicate ids:
duplicateIds = arr .map(e => e['id']) .map((e, i, final) => final.indexOf(e) !== i && i) .filter(obj=> arr[obj]) .map(e => arr[e]["id"])
List of IDs will be
duplicateIds = [10]
Thus, to get duplicates objects:
duplicate = arr.filter(obj=> dublicateIds.includes(obj.id));
Now you have it:
duplicate = [ { id:10, name: 'someName1' }, { id:10, name: 'someName2' } ]
Thanks https://reactgo.com/removeduplicateobjects/