Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Map

Коллекция пар ключ — значение, где ключом может быть что угодно.

Доступно с: ES2015

Синтаксис

new Map(entries)

Параметры

ПараметрТипОписание
entriesIterableНеобязательный. Массив пар [ключ, значение] для начального заполнения.

Возвращаемое значение

MapНовая коллекция ключ — значение.

Примеры

Создание и чтение:

const ages = new Map([['Anna', 25], ['Oleg', 31]]);
 
console.log(ages.get('Anna'));
console.log(ages.size);

Результат:

25
2

Ключом может быть объект:

const visits = new Map();
const user = { name: 'Anna' };
 
visits.set(user, 3);
 
console.log(visits.get(user));

Результат:

3

Перебор в порядке добавления:

const ages = new Map([['Anna', 25], ['Oleg', 31]]);
 
for (const [name, age] of ages) {
  console.log(`${name}: ${age}`);
}

Результат:

Anna: 25
Oleg: 31

Примечания

Чем Map лучше обычного объекта: ключи любого типа, размер в свойстве size, гарантированный порядок и нет унаследованных ключей вроде toString. Объект удобнее для фиксированного набора полей, Map — для словаря, который часто меняется.

JSON.stringify() превращает Map в {}. Перед сохранением преобразуйте его: Object.fromEntries(map).

См. также

  • Map.prototype.set — Добавляет или заменяет значение по ключу.
  • Map.prototype.get — Возвращает значение по ключу.
  • Set — Коллекция уникальных значений.
  • Object.fromEntries — Создаёт объект из списка пар ключ — значение.

Вопросы и ответы по теме

В учебнике

  • Map и Set — Коллекции Map и Set в JavaScript: словарь с ключами любого типа и набор уникальных значений.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.