Ужыванне калекцый Map
Няхай у нас ёсць абзацы:
<p>aaa</p>
<p>bbb</p>
>
<p>ccc</p>
<p>ddd</p>
<p>eee</p>
Давайце зробім так, каб па кліку на кожны
абзац яму ў канец запісваўся яго парадкавы
нумар у спісе абзацаў. Вырашым задачу праз
Map.
Прыступім. Для пачатку атрымаем нашы абзацы ў зменную:
let elems = document.querySelectorAll('p');
Стварым новую калекцыю Map:
let map = new Map;
Запоўнім нашу калекцыю так, каб ключамі былі нашы абзацы, а іх значэннямі - парадкавыя нумары:
let i = 1;
for (let elem of elems) {
map.set(elem, i++);
}
Перабярэм абзацы цыклам і павесім на іх апрацоўшчык кліку:
for (let elem of elems) {
elem.addEventListener('click', function() {
});
}
Давайце цяпер па кліку будзем дадаваць парадкавы нумар у канец тэксту абзаца. Пры гэтым будзем атрымліваць гэты нумар з нашай калекцыі:
for (let elem of elems) {
elem.addEventListener('click', function() {
this.textContent += map.get(this);
});
}
Даны інпуты. Перабярыце гэтыя інпуты цыклам
і стварыце калекцыю Map, ключамі
у якой будуць інпуты, а значэннем - іх
парадкавы нумар на старонцы. Зрабіце так,
каб па кліку на любы інпут яму ў value
запісваўся яго парадкавы нумар.
Даны інпуты. У кожны інпут можна ўвесці
лік. Няхай па націску на Enter інпут
запамінае ўведзены лік. Зрабіце так,
каб па страце фокусу ў інпуце ў кансоль
выводзіўся масіў усіх уведзеных раней у інпут
лікаў.