4 of 17 menu

Confuzia dintre cheie și element în bucla for în JavaScript

Să presupunem că avem un array cu numele lunilor:

let arr = [ 'ian', 'feb', 'mart', 'apr', 'mai', 'iunie', 'iulie', 'aug', 'sept', 'oct', 'nov', 'dec' ];

Să presupunem că variabila month stochează numărul lunii curente:

let month = 10;

Să afișăm toate lunile folosind o buclă, în timp ce luna curentă o vom afișa cu italic.

Un anumit programator a rezolvat deja această problemă, cu toate acestea, a făcut o greșeală și nu a acordat atenție faptului că în variabila month este stocat numărul lunii, și nu numele acesteia:

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

Programatorul nostru compară elementul array-ului cu variabila month. Dar în această variabilă este stocat numărul lunii, și nu numele acesteia!

Pentru ca codul să funcționeze corect, trebuie să comparăm month cu numărul lunii, adică cu valoarea contorului i:

for (let i = 0; i < arr.length; i++){ if (month === i) { // am corectat eroarea document.write('<i>' + arr[i] + '</i>'); } else { document.write(arr[i]); } document.write('<br>'); }
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge