Употреба на 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

Дадени се input полиња. Поминете ги овие input полиња со циклус и креирајте колекција Map, каде што клучеви ќе бидат input полињата, а вредноста - нивниот редоследен број на страницата. Направете така, што при клик на кое било input поле во неговиот value да му се запише неговиот редоследен број.

Задание 2

Дадени се input полиња. Во секое input поле може да се внесе број. Нека при притискање на Enter input полето да го запамети внесениот број. Направете така, што при загуба на фокусот во input полето во конзола да се испечати низа од сите дотогаш внесени во input полето броеви.