Что такое 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)].