Представлено в ECMAScript 6 (ES6).

Понимание карт

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

Чтобы создать новую карту, вы можете использовать конструктор Map:

const myMap = new Map();

Ключевые особенности карт

Давайте рассмотрим ключевые функции, которые делают карты ценным дополнением к языку JavaScript:

1. Ключевое разнообразие

Карты допускают использование в качестве ключей широкого спектра типов данных, включая примитивные типы, такие как строки, числа и символы. Такая гибкость недоступна для объектов, где ключи внутренне преобразуются в строки.

2. Сохраняет порядок размещения

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

3. Любой тип значения для значений.

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

4. Свойство размера

Вы можете легко определить количество пар ключ-значение на карте, используя свойство size:

const myMap = new Map();
myMap.set('name', 'JK');
myMap.set('age', 22);
console.log(myMap.size); 
// Output: 2

5. Итерация

Карты поддерживают как циклы for...of, так и метод forEach, что упрощает перебор пар ключ-значение. Это особенно полезно, когда вам нужно выполнить операции над всеми элементами карты.

const myMap = new Map();
myMap.set('a', 1);
myMap.set('b', 2);
for (const [key, value] of myMap) {
    console.log(key, value);
}
// Output:
// a 1
// b 2

6. Методы манипуляции

Карты предлагают богатый набор методов для добавления, удаления и обновления записей. Некоторые часто используемые методы включают set(), get(), delete(), и has().

Примеры кода

1. Создание и добавление на карту

const bookMap = new Map();
bookMap.set('title', 'Chandrayaan-3');
bookMap.set('author', 'Indian Space Research Organization');
bookMap.set('year', 2023);

2. Перебор карты

for (const [key, value] of bookMap) {
    console.log(`${key}: ${value}`);
}
// Output: 
// title: Chandrayaan-3
// author: Indian Space Research Organization
// year: 2023

//Note: Just for example, not an actual book.

3. Проверка существования

if (bookMap.has('title')) {
    console.log('Title:', bookMap.get('title'));
} else {
    console.log('Title not found');
}
// Output: Title: Chandrayaan-3

4. Удаление записи

bookMap.delete('year');
console.log(bookMap.size); 
// Output: 2

Заключение

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