Примена колекција 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 инпут запамти унети број. Направите тако, да се при губитку фокуса на инпуту у конзолу испише низ свих до тада унетих у инпут бројева.