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 |