JavaScript-da for tsiklida kalit va elementni adashtirish
Berilgan oy nomlari massivi:
let arr = [
'yan', 'fev', 'mart', 'apr', 'may', 'iyun',
'iyul', 'avg', 'sen', 'okt', 'noy', 'dek'
];
O'zgaruvchida month
joriy oyning raqami saqlansin:
let month = 10;
Keling, tsikl yordamida barcha oylarni chiqaramiz, shu bilan birga joriy oyni kursiv bilan chiqaramiz.
Ma'lum bir dasturchi bu masalani hal qilgan,
biroq u month o'zgaruvchisida
oyning nomi emas, balki uning raqami
saqlanishiga e'tibor bermagan holda xato qildi:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // xato shu yerda
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Bizning dasturchimiz massiv elementini
month o'zgaruvchisi bilan solishtiradi.
Lekin bu o'zgaruvchida oyning nomi emas,
balki uning raqami saqlanayapti!
Kod to'g'ri ishlashi uchun,
month ni oy raqami bilan,
ya'ni hisoblagich i ning qiymati bilan
solishtirish kerak:
for (let i = 0; i < arr.length; i++){
if (month === i) { // xatoni tuzatdik
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}