Найти одинаковые элементы в одном массиве
Допустим есть массив 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));