⊗jsSpMpAp 36 of 294 menu

Användning av Map-samlingar

Låt oss säga att vi har stycken:

<p>aaa</p> <p>bbb</p> <p>ccc</p> <p>ddd</p> <p>eee</p>

Låt oss göra så att när man klickar på varje stycke skrivs dess ordningsnummer i listan över stycken i slutet av det. Låt oss lösa uppgiften med Map.

Låt oss börja. Först, låt oss hämta våra stycken i en variabel:

let elems = document.querySelectorAll('p');

Låt oss skapa en ny Map-samling:

let map = new Map;

Låt oss fylla vår samling så att nycklarna är våra stycken och deras värden är ordningsnumren:

let i = 1; for (let elem of elems) { map.set(elem, i++); }

Låt oss iterera genom styckena med en loop och koppla en klickhanterare till dem:

for (let elem of elems) { elem.addEventListener('click', function() { }); }

Låt oss nu lägga till ordningsnumret i slutet av styckets text när man klickar. Låt oss samtidigt hämta detta nummer från vår samling:

for (let elem of elems) { elem.addEventListener('click', function() { this.textContent += map.get(this); }); }

Inmatningsfält är givna. Iterera genom dessa inmatningsfält med en loop och skapa en samling Map, där nycklarna kommer att vara inmatningsfälten, och värdet - deras ordningsnummer på sidan. Gör så att när man klickar på ett inmatningsfält skrivs dess ordningsnummer i dess value.

Inmatningsfält är givna. I varje inmatningsfält kan man skriva in ett nummer. Låt inmatningsfältet komma ihåg det inmatade numret när man trycker på Enter. Gör så att när inmatningsfältet förlorar fokus skrivs en array med alla tidigare inmatade nummer i inmatningsfältet ut i konsolen.

idituzluzen