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-ի ֆոկուսը կորցնելու դեպքում console-ում արտածվի input-ի մեջ նախկինում մուտքագրված բոլոր թվերի զանգվածը: