Zmeda med ključem in elementom v zanki for v JavaScriptu
Podan je seznam z imeni mesecev:
let arr = [
'jan', 'feb', 'mar', 'apr', 'maj', 'jun',
'jul', 'avg', 'sep', 'okt', 'nov', 'dec'
];
Naj v spremenljivki month hrani
številka trenutnega meseca:
let month = 10;
S pomočjo zanke izpišimo vse mesece, pri čemer trenutni mesec izpišimo ležeče.
Nek programer je že rešil to nalogo,
vendar se je zmotil in ni pazil,
da v spremenljivki month
hrani številka meseca, ne pa njegovo ime:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // napaka je tu
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Naš programer primerja element seznama
s spremenljivko month. Toda v tej
spremenljivki hrani številka meseca,
ne pa njegovo ime!
Da bi koda delovala pravilno,
je treba primerjati month
s številko meseca, to je
z vrednostjo števca i:
for (let i = 0; i < arr.length; i++){
if (month === i) { // popravili napako
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}