Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
16 Апр 2024
2 мин
186

Удаление дубликатов из массива в JavaScript

Одной из часто возникающих задач при работе с массивами в JavaScript является удаление дубликатов из массива. Проще говоря, нужно получить новый массив,

Одной из часто возникающих задач при работе с массивами в JavaScript является удаление дубликатов из массива. Проще говоря, нужно получить новый массив, который будет содержать только уникальные элементы исходного массива.

Допустим, есть массив чисел:

let numbers = [1, 2, 3, 2, 1, 4, 5, 4, 6];

В этом массиве числа 1, 2 и 4 встречаются дважды. Необходимо получить новый массив, в котором каждое число будет встречаться только один раз.

Использование Set

Один из современных и эффективных способов решения этой задачи – использование объекта Set. Этот объект позволяет создавать коллекции уникальных значений. Для того чтобы получить массив без дубликатов, достаточно преобразовать исходный массив в Set, а затем обратно в массив:

let uniqueNumbers = [...new Set(numbers)];

В результате переменная uniqueNumbers будет содержать массив [1, 2, 3, 4, 5, 6].

Использование метода filter

Если по каким-либо причинам использование Set недоступно или нежелательно, можно воспользоваться методом filter, который есть у каждого массива. Этот метод позволяет отфильтровать элементы массива по заданному условию. Для удаления дубликатов можно использовать следующий код:

let uniqueNumbers = numbers.filter((value, index, self) => {
    return self.indexOf(value) === index;
});

В этом коде для каждого элемента массива вызывается функция, которая проверяет, совпадает ли индекс первого вхождения элемента в массив с его текущим индексом. Если индексы совпадают, значит, это первое вхождение элемента, и он добавляется в новый массив. Если индексы не совпадают, значит, это дубликат, и он отбрасывается.

Оба этих метода позволяют эффективно и быстро удалять дубликаты из массива в JavaScript.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

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