← Назад ко всем вопросам

Что такое Map в JavaScript

1️⃣ Как кратко ответить

Map в JavaScript — это встроенный объект, который позволяет хранить пары ключ-значение, где ключи могут быть любого типа, включая объекты и функции. Map сохраняет порядок добавления элементов и предоставляет методы для добавления, удаления и получения значений по ключу.

2️⃣ Подробное объяснение темы

Map в JavaScript — это структура данных, которая позволяет хранить коллекции пар ключ-значение. В отличие от объектов, где ключи могут быть только строками или символами, в Map ключи могут быть любого типа, включая объекты, функции и примитивы.

Зачем нужен Map?

Map используется, когда необходимо хранить данные в виде пар ключ-значение, и при этом важно сохранить порядок добавления элементов. Он также предоставляет более удобные методы для работы с коллекцией, чем обычные объекты.

Основные методы и свойства Map

  • set(key, value): Добавляет новую пару ключ-значение в Map. Если ключ уже существует, значение обновляется.
  • get(key): Возвращает значение, связанное с ключом. Если ключ не найден, возвращает undefined.
  • has(key): Возвращает true, если ключ присутствует в Map, иначе false.
  • delete(key): Удаляет пару ключ-значение по ключу. Возвращает true, если элемент был успешно удален, иначе false.
  • clear(): Удаляет все пары ключ-значение из Map.
  • size: Возвращает количество элементов в Map.

Пример использования Map

// Создаем новый Map
const map = new Map();
​
// Добавляем пары ключ-значение
map.set('name', 'Alice'); // Ключ — строка, значение — строка
map.set(1, 'one'); // Ключ — число, значение — строка
map.set(true, 'yes'); // Ключ — булево значение, значение — строка
​
// Получаем значение по ключу
console.log(map.get('name')); // Вывод: 'Alice'
​
// Проверяем наличие ключа
console.log(map.has(1)); // Вывод: true
​
// Удаляем элемент по ключу
map.delete(true);
​
// Проверяем размер Map
console.log(map.size); // Вывод: 2
​
// Итерация по Map
for (let [key, value] of map) {
  console.log(`${key}: ${value}`);
}
// Вывод:
// 'name: Alice'
// '1: one'

Как работает Map

  1. Создание: Map создается с помощью конструктора new Map(). Можно также передать массив массивов для инициализации значениями.

  2. Добавление и обновление: Метод set добавляет новую пару ключ-значение или обновляет значение существующего ключа.

  3. Получение значения: Метод get возвращает значение, связанное с ключом. Если ключ не найден, возвращается undefined.

  4. Проверка наличия ключа: Метод has проверяет, существует ли ключ в Map.

  5. Удаление: Метод delete удаляет пару ключ-значение по ключу. Метод clear удаляет все элементы.

  6. Итерация: Map поддерживает итерацию с помощью цикла for...of, возвращая пары ключ-значение в порядке их добавления.

Преимущества Map перед объектами

  • Типы ключей: В Map ключи могут быть любого типа, в то время как в объектах — только строки или символы.
  • Порядок элементов: Map сохраняет порядок добавления элементов, что не гарантируется в объектах.
  • Производительность: Map оптимизирован для частых операций добавления и удаления элементов.

Map — это мощный инструмент для работы с коллекциями данных, когда требуется гибкость в выборе типов ключей и сохранение порядка элементов.

Тема: JavaScript
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки