Вкратце: сохраните значение, если позиция первого вхождения элемента (indexOf
) также является последней позицией элемента в массиве (lastIndexOf
).
Если индексы не равны, значение дублируется, и вы можете его отбросить.
const a = ['Ronaldo', 'Pele', 'Maradona', 'Messi',
'Pele', 'Messi', 'Jair', 'Baggio', 'Messi',
'Seedorf'];
const uniqueArray = a.filter(function(item, pos) {
return a.lastIndexOf(item) == a.indexOf(item);
});
console.log(uniqueArray);
/* output: ["Ronaldo", "Maradona", "Jair", "Baggio", "Seedorf"] */
Codepen Demo