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);
});
}
Տրված են input-ներ: Անցնել այս input-ներով ցիկլով
և ստեղծել Map կոլեկցիա, որի բանալիները
կլինեն input-ները, իսկ արժեքը՝ նրանց
հերթական համարը էջում: Այնպես անել,
որ ցանկացած input-ի վրա կտտացնելու դեպքում նրան value-ի
մեջ գրվի նրա հերթական համարը:
Տրված են input-ներ: Յուրաքանչյուր input-ի մեջ կարելի է մուտքագրել
թիվ: Ենթադրենք Enter սեղմելու դեպքում input-ը
հիշում է մուտքագրված թիվը: Այնպես անել,
որ input-ի ֆոկուսը կորցնելու դեպքում console-ում
արտածվի input-ի մեջ նախկինում մուտքագրված բոլոր թվերի
զանգվածը: