4 of 17 menu

Avain- ja elementtisekaannus for-silmukassa JavaScriptissa

Olkoon annettuna kuukausien nimista koostuva taulukko:

let arr = [ 'tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesa', 'heina', 'elo', 'syys', 'loka', 'marras', 'joulu' ];

Olkoon muuttujassa month tallessa nykyisen kuukauden numero:

let month = 10;

Tuodaan esille kaikki kuukaudet silmukan avulla, ja nykyinen kuukausi esitetään kursivoidulla tekstilla.

Eräs ohjelmoija on jo ratkaissut tämän tehtavan, mutta hän teki virheen eika huomioinut, etta muuttujassa month on tallessa kuukauden numero, eika sen nimi:

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

Ohjelmoijamme vertaa taulukon elementtia muuttujaan month. Mutta eihan tassa muuttujassa ole tallessa kuukauden nimi, vaan sen numero!

Jotta koodi toimisi oikein, taytyy verrata month kuukauden numeroon, eli laskurin arvoon i:

for (let i = 0; i < arr.length; i++){ if (month === i) { // korjattiin virhe document.write('<i>' + arr[i] + '</i>'); } else { document.write(arr[i]); } document.write('<br>'); }
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää