Вот решение, использующее новую функцию фильтрации JavaScript, которая довольно проста. Допустим, у вас есть такой массив.
var duplicatesArray = ['AKASH','AKASH','NAVIN','HARISH','NAVIN','HARISH','AKASH','MANJULIKA','AKASH','TAPASWENI','MANJULIKA','HARISH','TAPASWENI','AKASH','MANISH','HARISH','TAPASWENI','MANJULIKA','MANISH'];
Функция фильтра позволит вам создать новый массив, используя функцию обратного вызова один раз для каждого элемента в массиве. Таким образом, вы можете настроить уникальный массив следующим образом.
var uniqueArray = duplicatesArray.filter(function(elem, pos) {return duplicatesArray.indexOf(elem) == pos;});
В этом сценарии ваш уникальный массив будет проходить через все значения в дублирующем массиве. Переменная elem представляет значение элемента в массиве (mike, james, james, alex), позиция - это позиция с 0 индексами в массиве (0,1,2,3 ...) и duplicatesArray. Значение indexOf (elem) - это просто индекс первого вхождения этого элемента в исходном массиве. Таким образом, поскольку элемент 'james' дублируется, когда мы перебираем все элементы в duplicatesArray и помещаем их в uniqueArray, при первом обращении к james наше значение pos равно 1, а наш indexOf (elem) равно 1, так что Джеймса выталкивают в uniqueArray. Во второй раз, когда мы нажимаем на Джеймса, наше значение "pos" равно 2, а наш indexOf (elem) по-прежнему равен 1 (потому что он находит только первый экземпляр элемента массива), поэтому дубликат не выдвигается. Поэтому наш uniqueArray содержит только уникальные значения.
Здесь приведена демонстрация вышеуказанной функции. Нажмите здесь, чтобы посмотреть пример функции выше