Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: array, unique, duplicates, Set, filter

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

Проверяет знание методов работы с массивами и умение удалять дубликаты в JavaScript.

Короткий ответ

Самый простой способ — использовать конструктор Set, который автоматически удаляет дубликаты, а затем преобразовать его обратно в массив через spread-оператор. Также можно применить метод filter с проверкой индекса элемента. Оба подхода работают для примитивных типов данных.

Длинный ответ

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

В JavaScript существует несколько способов получить уникальный массив из массива с повторяющимися элементами. Наиболее популярный и лаконичный — использование объекта Set, который хранит только уникальные значения.

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

Конструктор Set принимает итерируемый объект (например, массив) и создает коллекцию уникальных значений. Затем с помощью spread-оператора ... или Array.from() преобразуем Set обратно в массив.

const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]

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

Метод filter позволяет отфильтровать элементы, оставляя только те, индекс которых совпадает с первым вхождением в массиве.

const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

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

Метод reduce позволяет собрать уникальные значения в аккумулятор, проверяя наличие элемента.

const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.reduce((acc, item) => {
  if (!acc.includes(item)) acc.push(item);
  return acc;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

Вывод

Для простых случаев с примитивными типами данных лучше всего использовать Set — это быстро и читаемо. Если нужна поддержка сложных объектов или особая логика сравнения, стоит применять filter или reduce с кастомной функцией сравнения.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#array

#unique

#duplicates

#Set

#filter

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию