Прежде чем мы собираемся удалить повторяющееся значение из массива объектов, мы должны знать, как удалить повторяющееся значение из массива.

Сначала определите массив данных.

let words = ['Edison','Stalin','Stalin','Edison'];

В этом массиве у нас есть два повторяющихся значения. Один «Эдисон», другой — «Сталин».

Удалите повторяющееся значение с помощью метода filter.

words.filter((v,i)=> words.indexOf(v) === i);
console.log(words);
//expected output is ['Edison', 'Stalin'];

Пока все легко и хорошо. Но как удалить повторяющиеся данные из объекта массива?

Определим массив объектов.

var words = [{name: 'Edison'}, {name: 'Stalin'}, {name: 'Stalin'}, {name:'Edison'}];

В этом массиве у нас есть два повторяющихся значения. Один {name: ‘Эдисон’}другой {name: ‘Сталин’}.

Прежде всего, значение хранится в объекте name. В этом примере мы увидим, как удалить дубликаты из объекта массива. Раньше я чувствовал, что это действительно слышно. В конце концов, я нашел решение.

Мы должны использовать функцию map() , чтобы удалить повторяющееся значение. Мы должны вернуть name значение, используя метод map(), а затем написать indexOf( )метод.

const result = words.filter((v,i) => {
  return words.map((val)=> val.name).indexOf(v.name) == i
})
console.log(result); 
//Excepted output is [{name: 'Edison'},{name:'Stalin'}]

Спасибо, что читаете, дорогие друзья.

Справочные ссылки: