Найти тему
Фронтенд

Создаем массив уникальных значений. Фронтед задачи.

Оглавление

Довольно простая задача, которая может быть красиво решена как с помощью последней версии JS, так и обычным перебором.

Если вы готовитесь к собеседованию, настоятельно рекомендую: прочитайте статью, откройте JS Fiddle, затем по памяти повторите все варианты решения. Это поможет вам усвоить материал на 20% лучше.

Итак, давайте разберем 2 основных способа решения этой задачи:

Array Filter

Вывод уникальных значений через метод .filter
Вывод уникальных значений через метод .filter

Что происходит: Пробегаем по массиву методом filter. Метод filter возвращает значение текущей итерации, если условие возвращает true.

Условие: если в массиве arr существует value из текущей итерации, indexOf возвратит его index. Если этот index совпадёт с index текущей итерации, то мы возвращаем true и добавляем это значение в новый массив уникальных чисел.

Таким образом мы перебираем массив, проверяя попадается ли значение впервые, тем самым не позволяя дублям попасть в новый массив уникальных чисел.

New Set()

Вывод уникальных значений с помощью spread и new Set()
Вывод уникальных значений с помощью spread и new Set()

Что происходит: Массив не уникальных значений arr помещаем в конструктор коллекции new Set(), который может иметь только уникальные значения. Конструктор возвращает массив уникальных значений, который через spread мы возвращаем в наш массив.

Для кого это?

Данный материал предназначен для новичков и разработчиков, которые решили обновить свои знания о возможностях языка.

Ошибки?

Если вы обнаружили ошибку в тексте статьи или вам есть что добавить, пожалуйста напишите об этом в комментариях. Спасибо!

А какие задачи по фронтенду попадались на собеседованиях вам?

Наука
7 млн интересуются