4 of 17 menu

Forvirring mellem nøgle og element i for-løkke i JavaScript

Lad der være givet en array med månedsnavne:

let arr = [ 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' ];

Lad variablen month indeholde nummeret på den aktuelle måned:

let month = 10;

Lad os ved hjælp af en løkke udskrive alle månederne, hvor den aktuelle måned udskrives i kursiv.

En eller anden programmør har allerede løst denne opgave, men han begik en fejl og lagde ikke mærke til, at variablen month indeholder månedsnummeret, ikke dens navn:

for (let i = 0; i < arr.length; i++) { if (month === arr[i]) { // fejl her document.write('<i>' + arr[i] + '</i>'); } else { document.write(arr[i]); } document.write('<br>'); }

Vores programmør sammenligner array-elementet med variablen month. Men denne variable indeholder månedsnummeret, ikke dens navn!

For at koden skal fungere korrekt, skal man sammenligne month med månedsnummeret, det vil sige med værdien af tælleren i:

for (let i = 0; i < arr.length; i++){ if (month === i) { // rettede fejlen document.write('<i>' + arr[i] + '</i>'); } else { document.write(arr[i]); } document.write('<br>'); }
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis