PassFront
  1. PassFront
  2. База знаний
  3. Массивы и структуры данных

Что такое Set?

Массивы и структуры данных

`Set` — это коллекция уникальных значений любого типа. Дубликаты автоматически игнорируются, порядок вставки сохраняется.

Свойства

  • Хранит только уникальные значения.
  • Значения любого типа (примитивы и объекты).
  • Сохраняет порядок добавления.
  • Итерируется через for...of.
  • Уникальность по алгоритму SameValueZero (NaN считается равным NaN).

API

const set = new Set([1, 2, 2, 3]);
console.log(set.size); // 3 — дубликат убран

set.add(4);
set.has(2);     // true
set.delete(1);

for (const value of set) {
  console.log(value);
}

Частые применения

Убрать дубликаты из массива

const unique = [...new Set([1, 1, 2, 3, 3])]; // [1, 2, 3]

Быстрая проверка наличия

set.has(x) работает в среднем за O(1), в отличие от array.includes(x) — O(n).

Set против массива

  • Нужна уникальность и быстрый поиск → Set.
  • Нужны индексы, порядок, дубликаты, методы map/reduce → массив.

Коротко для собеседования

Set — коллекция уникальных значений с быстрым has за O(1) и сохранением порядка. Классика — дедупликация массива через [...new Set(arr)].

Другие вопросы раздела