Sobes.tech
Назад к вопросам
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