Пусть у нас есть некоторый объект:
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
, сделайте ключами
коллекции объекты, а значениями - соответствующие
массивы.