я могу удалить все дубликаты из массива с помощью этой функции:только возвращают элементы массива, которые выше в индексе, если дублируется
function make_unique(array) {
return array.reduce(function(p, c) {
if (p.indexOf(c) < 0) p.push(c);
return p;
}, []);
};
Но это дает мне нижний индексированный элемент любых 2-х дублей. Мне нужен способ вернуть «более высокий» индексированный дубликат любых элементов, которые дублируются в массиве.
Таким образом, в следующем массиве:
array = ["bob", "chris", "susan", "steve", "melissa", "steve", "bob"]
это дало бы мне элементы 1 (CHRIS), 2 (Susan), 4 (мелиссы), 5 (стив), 6 (боб)
Вы могли бы избежать два операций обратных с помощью 'lastIndexOf'. 'array.filter (function (v, idx) {return array.lastIndexOf (v) === idx;});' – nikhil
бонусные баллы для вас, позвольте мне изменить это. –