Map: особенности, свойства, методы, перебор структура данных для хранения пар ключ-значение ключом может быть значение любого типа, в том числе объект элементы обходятся в порядке их добавления основные методы: set(key, value) — добавляет или изменяет пару get(key) — возвращает значение по ключу has(key) — определяет, существует ли ключ delete(key) — удаляет элемент по ключу clear() — удаляет все элементы size — число элементов перебор с помощью: for...of map (итерация по [key, value]) методов map.keys(), map.values(), map.entries() подходит для быстрой итерируемой ассоциативной коллекции, превосходя объект гибкостью ключей и…
Что такое Map в JavaScript, какие у него свойства и методы и как его перебрать?
Map: особенности, свойства, методы, перебор структура данных для хранения пар ключ-значение ключом может быть значение любого типа, в том числе объект элементы обходятся в порядке их добавления основные методы:…
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Map: особенности, свойства, методы, перебор
- структура данных для хранения пар ключ-значение
- ключом может быть значение любого типа, в том числе объект
- элементы обходятся в порядке их добавления
- основные методы:
set(key, value)— добавляет или изменяет паруget(key)— возвращает значение по ключуhas(key)— определяет, существует ли ключdelete(key)— удаляет элемент по ключуclear()— удаляет все элементыsize— число элементов- перебор с помощью:
for...of map(итерация по[key, value])- методов
map.keys(),map.values(),map.entries() - подходит для быстрой итерируемой ассоциативной коллекции, превосходя объект гибкостью ключей и предсказуемостью порядка
Если нужно — могу подготовить максимально краткий "шпаргалочный" вариант для реального интервью.
Подробный ответ
Основной ответ
Map — встроенная структура данных JavaScript, добавленная в стандарт ES6. Она хранит пары ключ-значение и соблюдает порядок вставки. В отличие от обычного объекта, Map допускает ключи любых типов: объекты, функции и примитивные значения. Благодаря этому коллекция универсальна и предсказуема при переборе.
Ключевые моменты
- Ключи любого типа: Map не преобразует ключи в строки, поэтому
map.set({}, 'value')иmap.get({})обращаются к разным элементам. - Порядок элементов: при переборе Map записи возвращаются в последовательности их добавления, что обеспечивает предсказуемое поведение итератора.
- Основные методы:
set(key, value)— добавляет новую пару или обновляет существующуюget(key)— возвращает значение ключа либоundefined, если ключ отсутствуетhas(key)— проверяет существование ключа и возвращает булево значениеdelete(key)— удаляет ключ вместе с соответствующим значениемclear()— удаляет все записи Map- Свойства:
size— количество пар ключ-значение в Map- Перебор:
- Для перебора Map можно вызвать
map.forEach(callback)или использоватьfor...ofс деструктуризацией:js for (const [key, value] of map) { // действия с key и value } - Для итераций также предназначены
map.keys()(итератор ключей),map.values()(итератор значений) иmap.entries()(итератор пар).
Практический контекст
Map применяют, когда нужна эффективная итерируемая коллекция с ключами произвольного типа: например, для кешей, кеширования результатов функций и связей между объектами. В React 18+ и Node.js 16+ эта структура удобна для хранения связанного состояния без преобразования ключей в строки и с сохранением порядка.