Map kolleksiýalarynyň ulanylyşy
Bizde abzaslar bar diýeliň:
<p>aaa</p>
<p>bbb</p>
<p>ccc</p>
<p>ddd</p>
<p>eee</p>
Geliň, her abzasa çyklanýança, onuň ahyryna ol abzasyň abzaslar sanawyndaky tertip belgisi ýazylyş etsin. Meseläni
Map arkaly çözeliň.
Başlalyň. Ilki bilen abzaslarymyzy üýtgeýjide alyň:
let elems = document.querySelectorAll('p');
Täze Map kolleksiýasyny dörediň:
let map = new Map;
Kolleksiýamyzy şeýle dolduryň, ýöne açarlar biziň abzaslarymyz, olaryň bahalary bolsa tertip belgileri bolsun:
let i = 1;
for (let elem of elems) {
map.set(elem, i++);
}
Abzaslary aýlaw bilen aýlap geçiň we olara çyklama işleşdirijisini goýuň:
for (let elem of elems) {
elem.addEventListener('click', function() {
});
}
Indi çyklanýança tertip belgisini abzas tekstiniň ahyryna goşalyň. Bu ýerde şu tertip belgisini kolleksiýamyzdan alyň:
for (let elem of elems) {
elem.addEventListener('click', function() {
this.textContent += map.get(this);
});
}
Inputlar berlen. Bu inputlary aýlaw bilen aýlap geçiň we
Map kolleksiýasyny dörediň, onuň içindäki açarlar
inputlar, bahasy bolsa olaryň sahypadaky tertip belgileri bolsun. Şeýle ediň,
ýöne islendik inputa çyklanýança, onuň value
bölümine onuň tertip belgisi ýazylyş etsin.
Inputlar berlen. Her inputa san girizip bolýar.
Enter düwmä basylanyň input
girizilen sany ýadyňa saklasyn. Şeýle ediň,
ýöne inputdan fokus aýrylyşyňda konsolda
öň inputa girizilen ähli sanlaryň sanawy
çap edilsin.