Найти одинаковые элементы в одном массиве

Допустим есть массив result = [{id:1, name: "jhon"},{id:2, name: "jhon1"}, {id:1, name: "jhon"}, {id:3, name: "jhon5"}] Как мне вывести в переменной result только те объекты, у которых есть дубликат по ключу id?


Ответы (1 шт):

Автор решения: vanesicks
const getDuplicatesArray = arr => arr.filter((item, index) => arr.indexOf(item) !== index);

let ids = result.map(elem => elem.id);
let duplicateIds = getDuplicatesArray(ids);
let result = result.filter(elem => duplicateIds.include(elem.id));
→ Ссылка