Назад к вопросам
Middle
1
Чем отличается Set от обычного массива? Какова сложность операции has() у Set?
Компании, где спрашивали
News Media Holdind
Ответ от нейросети
sobes.tech AI
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