Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: HashMap, hash table, time complexity, data structure, array

Что такое хэш-карта (HashMap) и в каких случаях она предпочтительнее массива при решении алгоритмических задач?

Вопрос проверяет понимание структуры данных HashMap, её временной сложности и сценариев, где она эффективнее массива.

Короткий ответ

HashMap — это структура данных, которая хранит пары ключ-значение и обеспечивает доступ к значению по ключу за O(1) в среднем. Она предпочтительнее массива, когда нужно быстро искать, вставлять или удалять элементы по уникальному ключу, а не по индексу. Массив лучше подходит для последовательного доступа или когда ключи — это целые числа из небольшого диапазона.

Длинный ответ

Что такое HashMap?

HashMap (или хэш-таблица) — это структура данных, которая использует хэш-функцию для преобразования ключа в индекс массива, где хранится значение. Это позволяет выполнять операции поиска, вставки и удаления в среднем за O(1), что значительно быстрее, чем в массиве (O(n) для поиска по значению).

Когда HashMap предпочтительнее массива?

  • Когда нужно быстро искать элементы по уникальному ключу (например, по имени пользователя).
  • Когда ключи не являются целыми числами или имеют большой разброс.
  • Когда требуется частая вставка и удаление элементов.

Пример на JavaScript

// Использование HashMap (объект) для подсчёта частоты слов
const words = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple'];
const freq = {};
for (const word of words) {
  freq[word] = (freq[word] || 0) + 1;
}
console.log(freq); // { apple: 3, banana: 2, orange: 1 }

// Аналог с массивом был бы неэффективен
// пришлось бы искать каждый элемент линейно

Вывод

HashMap стоит применять, когда важна скорость доступа по ключу и ключи не являются последовательными целыми числами. Массив лучше использовать для хранения упорядоченных данных с доступом по индексу.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#HashMap

#hash table

#time complexity

#data structure

#array

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию