Map
в JavaScript – це структура даних, яка дозволяє зберігати колекцію ключ-значення, де кожен ключ із них унікальний. У відміну від об’єктів, у Map
ключ може бути будь-яким типом даних, включаючи об’єкти чи примітиви.
Основні методи Map
включають:
- set(key, value): Додає нову пару ключ-значення в
Map
.
const myMap = new Map();
myMap.set('key1', 'value1');
2.get(key): Повертає значення, пов’язане з ключем у Map.
myMap.get('key1'); // 'value1'
3.has(key): Перевіряє наявність ключа у Map.
myMap.has('key1'); // true
4.delete(key): Видаляє ключ та йому відповідне значення із Map.
myMap.delete('key1');
5.clear(): Очищає вміст Map.
myMap.clear();
Основні випадки застосування Map
включають в себе:
- Зберігання даних з унікальними ключами: Використовується для зберігання даних, які потребують унікальних ідентифікаторів.
- Швидкий доступ до даних за ключем: Завдяки унікальності ключів,
Map
дозволяє швидко отримувати значення за ключем. - Ітерація:
Map
має методи для ітерації, такі якforEach
таfor...of
, що дозволяють легко перебирати його елементи. - Зберігання об’єктів: Допомагає зберігати об’єкти, які можуть бути використані як ключі або значення, зберігаючи при цьому їх унікальність.
Відмінності від об’єктів:
- Тип ключів: У
Map
ключами можуть бути будь-які значення, включаючи примітиви, об’єкти, функції, тоді як у звичайних об’єктів ключі автоматично перетворюються в рядки. - Порядок ключів: В
Map
ключі зберігаються у тому порядку, в якому вони були додані. У звичайних об’єктів порядок ключів не гарантується, вони можуть бути неупорядкованими. - Прототипи: У
Map
відсутні прототипи, тоді як у звичайних об’єктів можуть бути використані прототипи, що впливає на особливості отримання ключів.
Хоча обидва типи дозволяють працювати з ключами, Map
надає більшу гнучкість та контроль над ключами, а також має ряд додаткових функцій для керування даними.