Карта содержит пары ключ-значение, где ключи могут быть любого типа данных.
Карта запоминает первоначальный порядок вставки ключей.
Основные методы составления карт
| Метод | Описание |
|---|---|
| new Map() | Создает новую карту |
| set() | Задает значение для ключа на карте |
| get() | Возвращает значение ключа на карте |
| delete() | Удаляет элемент карты, указанный ключом |
| has() | Возвращает значение true, если ключ существует на карте |
| forEach() | Вызывает функцию для каждой пары ключ/значение на карте |
| entries() | Возвращает итератор с парами [ключ, значение] на карте |
| Свойство | Описание |
| size | Возвращает количество элементов на карте |
Как создать карту?
Вы можете создать карту JavaScript с помощью:
- Передача массива в
new Map() - Создайте карту и используйте
Map.set()
Метод new Map()
Вы можете создать карту, передав массив конструктора new Map():
// Создайте карту
const fruits = new Map([
["яблоки", 500],
["бананы", 300],
["апельсины", 200]
]);
Попробуйте сами »
Метод set()
Вы можете добавлять элементы на карту с помощью метода set():
// Создайте карту
const fruits = new Map();
// Установите значения карты
fruits.set("яблоки", 500);
fruits.set("бананы", 300);
fruits.set("апельсины", 200);
Попробуйте сами »
Метод set(), также может быть использован для изменения существующих значений карты:
fruits.set("яблоки", 200);
Попробуйте сами »
Метод get()
Метод get() получает значение ключа на карте:
fruits.get("яблоки"); // Возвращается 500
Попробуйте сами »
Свойство size
Свойство size возвращает количество элементов на карте:
fruits.size;
Попробуйте сами »
Метод delete()
Метод delete() удаляет элемент карты:
fruits.delete("яблоки");
Попробуйте сами »
Метод has()
Метод has() возвращает значение true, если ключ существует на карте:
fruits.has("яблоки");
Попробуйте сами »
Попробуй это:
fruits.delete("яблоки");
fruits.has("яблоки");
Попробуйте сами »
JavaScript объекты или карты?
Различия между JavaScript объектами и картами:
| Объект | Карта | |
|---|---|---|
| Повторяющийся | Не поддается прямому повторению | Непосредственно повторяющийся |
| Size | Нет свойства 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 |