JavaScript Карты
Карта содержит пары "ключ-значение", где ключи могут быть любого типа данных.
Карта запоминает исходный порядок вставки ключей.
Основные методы карты
| Метод | Описание |
|---|---|
| new Map() | Создает новую карту |
| set() | Устанавливает значение для ключа на карте |
| get() | Получает значение ключа на карте |
| delete() | Удаляет элемент карты, указанный ключом |
| has() | Возвращает true, если ключ существует на карте |
| forEach() | Вызывает функцию для каждой пары ключ/значение на карте |
| entries() | Возвращает итератор с парами [ключ, значение] на карте |
| Свойство | Описание |
| size | Возвращает количество элементов на карте |
Как создать карту
Вы можете создать JavaScript карту с помощью:
- Передача массива в
new Map() - Создайте карту и используйте
Map.set()
Метод new Map()
Вы можете создать карту, передав массив в конструктор new Map():
Пример
// Создать карту
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Попробуйте сами »
Метод set()
Вы можете добавлять элементы в карту с помощью метода set():
Пример
// Создать карту
const fruits = new Map();
// Установить значения карты
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
Попробуйте сами »
Метод set() также можно использовать для изменения существующих значений карты:
Метод get()
Метод get() получает значение ключа на карте:
Свойство size
Свойство size возвращает количество элементов на карте:
Метод delete()
Метод delete() удаляет элемент карты:
Метод has()
Метод has() возвращает true, если ключ существует на карте:
Пример
fruits.has("apples");
Попробуйте сами »
Попробуй это:
fruits.delete("apples");
fruits.has("apples");
Попробуйте сами »
JavaScript Объекты vs Карты
Различия между JavaScript объектами и картами:
| Объект | Карта | |
|---|---|---|
| Итерация | Не прямая итерация | Прямая итерация |
| Размер | Не имеет свойства size | Имеет свойство size |
| Ключевые типы | Ключи должны быть строками (или символами) | Ключи могут иметь любой тип данных |
| Ключевой порядок | Ключи плохо упорядочены | Ключи упорядочены по вставке |
| По умолчанию | Есть ключи по умолчанию | Нет ключей по умолчанию |
Метод forEach()
Метод forEach() вызывает функцию для каждой пары ключ/значение на карте:
Пример
// Список всех записей
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Попробуйте сами »
Метод entries()
Метод entries() возвращает объект-итератор с [ключом, значениями] на карте:
Пример
// Список всех записей
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Попробуйте сами »
Поддержка браузерами
Карты JavaScript поддерживаются во всех браузерах, кроме Internet Explorer:
| Chrome | Edge | Firefox | Safari | Opera |

