4 of 17 menu

Confusione tra chiave ed elemento nel ciclo for in JavaScript

Sia dato un array con i nomi dei mesi:

let arr = [ 'gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic' ];

Sia nella variabile month memorizzato il numero del mese corrente:

let month = 10;

Utilizzando un ciclo, visualizziamo tutti i mesi, mentre il mese corrente lo visualizzeremo in corsivo.

Un certo programmatore ha già risolto questo problema, tuttavia, ha commesso un errore e non ha prestato attenzione al fatto che nella variabile month è memorizzato il numero del mese, non il suo nome:

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

Il nostro programmatore confronta l'elemento dell'array con la variabile month. Ma in questa variabile è memorizzato il numero del mese, non il suo nome!

Affinché il codice funzioni correttamente, è necessario confrontare month con il numero del mese, cioè con il valore del contatore i:

for (let i = 0; i < arr.length; i++){ if (month === i) { // errore corretto document.write('<i>' + arr[i] + '</i>'); } else { document.write(arr[i]); } document.write('<br>'); }
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta