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 |