Ужыванне калекцый Map

Няхай у нас ёсць абзацы:

html<p>aaa</p>
<p>bbb</p>
>
<p>ccc</p>
<p>ddd</p>
<p>eee</p>

Давайце зробім так, каб па кліку на кожны абзац яму ў канец запісваўся яго парадкавы нумар у спісе абзацаў. Вырашым задачу праз Map.

Прыступім. Для пачатку атрымаем нашы абзацы ў зменную:

javascriptlet elems = document.querySelectorAll('p');

Стварым новую калекцыю Map:

javascriptlet map = new Map;

Запоўнім нашу калекцыю так, каб ключамі былі нашы абзацы, а іх значэннямі - парадкавыя нумары:

javascriptlet i = 1;
for (let elem of elems) {
  map.set(elem, i++);
}

Перабярэм абзацы цыклам і павесім на іх апрацоўшчык кліку:

javascriptfor (let elem of elems) {
  elem.addEventListener('click', function() {
    
  });
}

Давайце цяпер па кліку будзем дадаваць парадкавы нумар у канец тэксту абзаца. Пры гэтым будзем атрымліваць гэты нумар з нашай калекцыі:

javascriptfor (let elem of elems) {
  elem.addEventListener('click', function() {
    this.textContent += map.get(this);
  });
}
Задание 1

Даны інпуты. Перабярыце гэтыя інпуты цыклам і стварыце калекцыю Map, ключамі у якой будуць інпуты, а значэннем - іх парадкавы нумар на старонцы. Зрабіце так, каб па кліку на любы інпут яму ў value запісваўся яго парадкавы нумар.

Задание 2

Даны інпуты. У кожны інпут можна ўвесці лік. Няхай па націску на Enter інпут запамінае ўведзены лік. Зрабіце так, каб па страце фокусу ў інпуце ў кансоль выводзіўся масіў усіх уведзеных раней у інпут лікаў.