Map як структура даних

Map в JavaScript – це структура даних, яка дозволяє зберігати колекцію ключ-значення, де кожен ключ із них унікальний. У відміну від об’єктів, у Map ключ може бути будь-яким типом даних, включаючи об’єкти чи примітиви.

Основні методи Map включають:

  1. 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, що дозволяють легко перебирати його елементи.
  • Зберігання об’єктів: Допомагає зберігати об’єкти, які можуть бути використані як ключі або значення, зберігаючи при цьому їх унікальність.

Відмінності від об’єктів:

  1. Тип ключів: У Map ключами можуть бути будь-які значення, включаючи примітиви, об’єкти, функції, тоді як у звичайних об’єктів ключі автоматично перетворюються в рядки.
  2. Порядок ключів: В Map ключі зберігаються у тому порядку, в якому вони були додані. У звичайних об’єктів порядок ключів не гарантується, вони можуть бути неупорядкованими.
  3. Прототипи: У Map відсутні прототипи, тоді як у звичайних об’єктів можуть бути використані прототипи, що впливає на особливості отримання ключів.

Хоча обидва типи дозволяють працювати з ключами, Map надає більшу гнучкість та контроль над ключами, а також має ряд додаткових функцій для керування даними.