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