Коллекции Map в JavaScript

Пусть у нас есть некоторый объект:

let obj = {a: 1, b: 2, c: 3};

Как вы видите, в этом объекте есть пары ключ-значение. При этом ключами могут быть только примитивы: строки и числа.

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

Для начала нужно создать коллекцию с помощью команды new Map:

let map = new Map;

После этого в коллекцию можно будет добавлять элементы с помощью метода set и получать их с помощью метода get.

Давайте попробуем. Пусть в качестве ключей мы хотим сделать два массива:

let arr1 = [1, 2]; let arr2 = [3, 4];

Присвоим нашим ключам некие значения:

map.set(arr1, 'data1'); map.set(arr2, 'data2');

А теперь прочитаем наши значения по ключам:

console.log(map.get(arr1)); console.log(map.get(arr2));

Давайте соберем весь код вместе:

let map = new Map; let arr1 = [1, 2]; let arr2 = [3, 4]; map.set(arr1, 'data1'); map.set(arr2, 'data2'); console.log(map.get(arr1)); console.log(map.get(arr2));

Пусть даны 3 массива. Создайте коллекцию Map, сделайте ключами коллекции эти массивы, а значениями - какие-нибудь строки.

Пусть даны 3 объекта и 3 массива. Создайте коллекцию Map, сделайте ключами коллекции объекты, а значениями - соответствующие массивы.