Как убрать повторяющиеся элементы массива. Аналог array_unique в JavaScript

Как убрать повторяющиеся элементы массива с помощью JS

Короткая статья с небольшой функцией, которая поможет чуть-чуть упростить нелегкую жизнь js-разработчика.
Не понятно, по каким причинам, но в JS нет «родной» функции, которая бы удаляла повторяющиеся элементы массива. Далее в статье вы найдете решение этой проблемы…

Функция, которая удаляет повторяющиеся элементы массива

По работе ни один раз приходилось сталкиваться с проблемой удаления дублей из массива, но руки ни разу не доходили до того, чтобы оформить решение в функцию. Но недавно коллега по работе, встретившись с этой проблемой, все сделал «красиво». И было бы глупо, не опубликовать функцию на блоге.
Ниже приведен код функции, которая удаляет повторяющиеся элементы массива:

/**
* Возвращает новый массив с уникальными элементами из исходного массива
* @return array - массив с уникальными элементами
*/
Array.prototype.unique = function() {
    var a = this.concat();
    for(var i=0; i<a.length; ++i) {
        for(var j=i+1; j<a.length; ++j) {
            if(a[i] === a[j])
                a.splice(j--, 1);
        }
    }

    return a;
};

И пример использования:

// исходный массив с неуникальными элементами
var test_array = [1, 2, 2, true, false, 3, "false", false, "kek"];
// массив с уникальными элементами
var unique_array;
unique = test_array.unique();

// посмотрим на результат в консоле
console.log("Old array: ", test_array);
console.log("New array: ", unique_array);

Послесловие

Респект Родину Алексею за функцию, пиши еще :)


Рассказать друзьям:


Оценить:
(3 оценок, среднее: 5,00 из 5)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code