JavaScript Карты объекта
Карта содержит пары ключ-значение, где ключи могут быть любого типа данных.
Карта запоминает первоначальный порядок вставки ключей.
У карты есть свойство, которое представляет размер карты.
Методы Карт
Метод | Описание |
---|---|
new Map() | Создает новый объект карты |
set() | Задает значение для ключа на карте |
get() | Возвращает значение ключа на карте |
clear() | Удаляет все элементы с карты |
delete() | Удаляет элемент карты, указанный ключом |
has() | Возвращает значение true, если ключ существует на карте |
forEach() | Вызывает обратный вызов для каждой пары ключ/значение на карте |
entries() | Возвращает объект итератора с парами [key, value] на карте |
keys() | Возвращает объект итератора с ключами на карте |
values() | Возвращает объект итератор значений на карте |
Свойство | Описание |
---|---|
size | Возвращает количество элементов карты |
Как создать карту?
Вы можете создать JavaScript карту с помощью:
- Передача массива в
new Map()
- Создайте карту и используйте
Map.set()
new Map()
Вы можете создать карту, передав массив в конструктор new Map()
:
Пример
// Создайте карту
const fruits = new Map([
["яблоки", 500],
["бананы", 300],
["апельсины", 200]
]);
Попробуйте сами »
Метод Map.set()
Вы можете добавлять элементы на карту с помощью метода set()
:
Пример
// Создайте карту
const fruits = new Map();
// Установите значения Карты
fruits.set("яблоки", 500);
fruits.set("бананы", 300);
fruits.set("апельсины", 200);
Попробуйте сами »
Метод set()
, также может быть использован для изменения существующих значений карты:
Метод Map.get()
Метод get()
получает значение ключа на карте:
Свойство Map.size
Свойство size
возвращает количество элементов на карте:
Метод Map.delete()
Метод delete()
удаляет элемент карты:
Метод Map.clear()
Метод clear()
удаляет все элементы с карты:
Метод Map.has()
Метод has()
возвращает значение true, если ключ существует на карте:
Пример
fruits.has("яблоки");
Попробуйте сами »
Попробуй:
fruits.delete("яблоки");
fruits.has("яблоки");
Попробуйте сами »
Карты - это объекты
typeof
возвращает объект:
Карта instanceof
возвращает значение true:
JavaScript Объекты или Карты
Различия между JavaScript объектами и картами:
Объекты | Карты | |
---|---|---|
Повторяемый | Не поддается прямому повторению | Непосредственно повторяющийся |
Size | Нет свойства 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()
метод возвращает объект итератора с [key,values] на карте:
Пример
// Перечислите все записи
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Попробуйте сами »
Объекты как ключи
Возможность использовать объекты в качестве ключей является важной особенностью карты.
Пример
// Создание Объектов
const яблоки = {name: 'Яблоки'};
const бананы = {name: 'Бананы'};
const апельсины = {name: 'Апельсины'};
// Создайте карту
const fruits = new Map();
// Добавление новых элементов в карту
fruits.set(яблоки, 500);
fruits.set(бананы, 300);
fruits.set(апельсины, 200);
Попробуйте сами »
Помнить: Ключ - это объект (яблоки), не строка ("яблоки"):
Поддержка браузера
JavaScript Карты поддерживаются во всех браузерах, кроме Internet Explorer:
Chrome | Edge | Firefox | Safari | Opera |