4 of 17 menu

Confusão entre chave e elemento no loop for em JavaScript

Suponha que tenhamos um array com os nomes dos meses:

let arr = [ 'jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez' ];

Suponha que a variável month armazene o número do mês atual:

let month = 10;

Vamos usar um loop para exibir todos os meses, e o mês atual será exibido em itálico.

Um certo programador já resolveu essa tarefa, no entanto, ele cometeu um erro e não percebeu que a variável month armazena o número do mês, e não seu nome:

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

Nosso programador está comparando o elemento do array com a variável month. Mas essa variável armazena o número do mês, e não o seu nome!

Para que o código funcione corretamente, é necessário comparar month com o número do mês, ou seja, com o valor do contador i:

for (let i = 0; i < arr.length; i++){ if (month === i) { // erro corrigido document.write('<i>' + arr[i] + '</i>'); } else { document.write(arr[i]); } document.write('<br>'); }
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar