Map. В чем особенность? Какие свойства и методы есть? Как перебрать?

Этот вопрос проверяет знание структуры данных Map в JavaScript, ее свойств, методов и способов перебора элементов.

Короткий ответ

Map — это коллекция, которая хранит пары ключ-значение и позволяет использовать ключи любого типа, в отличие от обычных объектов. Она имеет методы для добавления, удаления и получения элементов, такие как set(), get(), delete() и has(). Перебирать элементы в Map можно с помощью методов forEach() или с помощью цикла for...of, что делает работу с этой структурой данных удобной и гибкой.

Длинный ответ

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

 

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

const myMap = new Map(); 
myMap.set({}, 'value'); // Ключ — объект 
myMap.set('stringKey', 'value'); // Ключ — строка 
myMap.set(42, 'value'); // Ключ — число

Методы Map:

set(key, value): Добавляет или обновляет элемент с указанным ключом.

get(key): Возвращает значение по указанному ключу.

has(key): Проверяет, существует ли указанный ключ.

delete(key): Удаляет элемент по указанному ключу.

clear(): Удаляет все элементы из карты.

size: Свойство, возвращающее количество пар ключ-значение в Map.

 

Перебор элементов: Map предоставляет несколько способов перебора своих элементов:

Метод forEach():

myMap.forEach((value, key) => {
    console.log(`${key}: ${value}`); 
});

Цикл for...of:

for (const [key, value] of myMap) {
    console.log(`${key}: ${value}`); 
}

Методы keys(), values(), entries():

for (const key of myMap.keys()) {
    console.log(key); 
} 
for (const value of myMap.values()) {
    console.log(value); 
} 
for (const [key, value] of myMap.entries()) {
    console.log(`${key}: ${value}`); 
}

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

Подпишись на React Developer в телеграм