Прежде чем мы собираемся удалить повторяющееся значение из массива объектов, мы должны знать, как удалить повторяющееся значение из массива.
Сначала определите массив данных.
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'}]
Спасибо, что читаете, дорогие друзья.
Справочные ссылки: