Zabuna ključa i elementa u for petlji u JavaScript-u
Neka je dat niz sa nazivima meseci:
let arr = [
'jan', 'feb', 'mart', 'apr', 'maj', 'jun',
'jul', 'avg', 'sep', 'okt', 'nov', 'dec'
];
Neka u promenljivoj month bude sačuvan
broj tekućeg meseca:
let month = 10;
Hajde da ispišemo sve mesece koristeći petlju, pri čemu ćemo tekući mesec ispisati kurzivom.
Neki programer je već rešio ovaj zadatak,
međutim, pogrešio je i nije obratio pažnju
na to da u promenljivoj month
bude sačuvan broj meseca, a ne njegov naziv:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // greška je ovde
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Naš programer upoređuje element niza
sa promenljivom month. Ali u ovoj
promenljivoj je sačuvan broj meseca,
a ne njegov naziv!
Da bi kod radio ispravno,
treba uporediti month
sa brojem meseca, odnosno
sa vrednošću brojača i:
for (let i = 0; i < arr.length; i++){
if (month === i) { // ispravili smo grešku
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}