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

