PassFront
  1. PassFront
  2. База знаний
  3. Массивы и структуры данных

Когда нужно применять Map?

Массивы и структуры данных

`Map` применяют, когда нужны ключи не только строкового типа, важен порядок, часто добавляются/удаляются элементы или нужен `size` и удобная итерация.

Когда выбирать Map вместо объекта

Ключи любого типа

Когда ключом должен быть объект, функция или число:

const cache = new Map();
const key = someObject;
cache.set(key, computeExpensive(key)); // ключ — объект

Частые добавления/удаления и нужен size

map.set('a', 1);
map.delete('a');
map.size; // без ручного подсчёта

Важен порядок вставки

Map строго сохраняет порядок; у объекта целочисленные ключи сортируются.

Нужен «чистый словарь»

Без унаследованных ключей прототипа (нет коллизий с toString, constructor).

Частая итерация

for (const [key, value] of map) { /* ... */ }

Когда достаточно объекта

  • Строковые ключи, известная структура.
  • Нужна сериализация в JSON (Map напрямую не сериализуется).
  • Простой конфиг/запись.

Коротко для собеседования

Map применяют, когда: ключи не строки (объекты, функции), важен порядок, часто меняется размер (нужен size), нужен чистый словарь без прототипных ключей или частая итерация. Для строковых ключей и JSON достаточно объекта.

Другие вопросы раздела