Set — это коллекция уникальных значений, в отличие от обычного массива, который может содержать дубликаты. Ключевые отличия:
Чем отличается обычный массив от Set? Что можно сделать такого, где Set будет лучше массива?
Set — это коллекция уникальных значений, в отличие от обычного массива, который может содержать дубликаты. Ключевые отличия:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Set — это коллекция уникальных значений, в отличие от обычного массива, который может содержать дубликаты. Ключевые отличия:
- Уникальность элементов: Set не допускает повторяющихся значений.
- Быстрый поиск: метод
has()проверяет наличие элемента за константное время. - Отсутствие индексов: в Set нет доступа по индексу, как в массиве.
Сложность операции has() у Set — O(1) в среднем, благодаря внутреннему хэшированию или структурам данных, обеспечивающим быстрый поиск. В массиве же проверка наличия элемента (includes) — это операция O(n), так как требуется перебор элементов.
Пример:
const set = new Set([1, 2, 3]);
console.log(set.has(2)); // true
const arr = [1, 2, 3];
console.log(arr.includes(2)); // true