Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 86 из 114 · 9 мин
new Map, set, get, has, delete, clear, size, keys, values, entries, forEach и Map.groupBy.
Положи объект пользователя ключом в обычный объект — и все пользователи станут "[object Object]"! Хе-хе.
Ключи обычного объекта — только строки. У Map ключом может быть что угодно, и порядок сохраняется.
Mapnew Map([[ключ, значение], …]) — пары с ключами любого типа, порядок вставки сохраняется.const visits = new Map([["Аня", 3]]);
console.log(visits, visits instanceof Map);set() · get() · has() · delete()set(k, v) — записать (возвращает Map, можно цепочкой), get(k) — прочитать, has(k) — есть ли, delete(k) — удалить.const m = new Map();
const anya = { name: "Аня" };
m.set(anya, 1).set("Борис", 2);
console.log(m.get(anya), m.has("Борис"), m.delete("Борис"), m.has("Борис"));size · clear()size — число пар (свойство, не метод), clear() удаляет всё.const m = new Map([[1, "a"], [2, "b"]]);
console.log(m.size);
m.clear();
console.log(m.size);keys() · values() · entries() · forEach()for…of по Map сразу даёт пары [k, v].const prices = new Map([["Блокнот", 220], ["Пенал", 290]]);
for (const [item, price] of prices) console.log(item, price);
console.log([...prices.keys()], [...prices.values()], [...prices.entries()].length);
prices.forEach((p, d) => console.log(d, "→", p));Map.groupBy()Object.groupBy, но ключи — любые значения (объекты, числа), результат — Map.const prices = [150, 220, 290, 450];
const groups = Map.groupBy(prices, (p) => p >= 250);
console.log(groups.get(true), groups.get(false));Ключи — не строки или важен порядок и частые добавления/удаления — бери Map, а не объект.
Напиши countVisits(users): возвращает Map «имя → число визитов» через get/set.
Выберите один ответ.
Как узнать число пар в Map?
Выберите один ответ.
Когда Map лучше объекта?
Проверяем состояние обучения…