JavaScript-də for dövründə açar və elementin qarışıqlığı
Tutaq ki, ayların adları olan massiv verilib:
let arr = [
'yan', 'fev', 'mart', 'apr', 'may', 'iyun',
'iyul', 'avq', 'sen', 'okt', 'noy', 'dek'
];
Tutaq ki, month dəyişənində
cari ayın nömrəsi saxlanılır:
let month = 10;
Gəlin dövr vasitəsilə bütün ayları çıxaraq, bu zaman cari ayı italik şəkildə çıxaraq.
Bir proqramçı bu məsələni həll etmişdir,
lakin o, səhv etmiş və month dəyişənində
ayın nömrəsinin deyil, onun adının saxlandığına
fikir verməmişdir:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // səhv buradadır
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Proqramçımız massivin elementini
month dəyişəni ilə müqayisə edir.
Amma bu dəyişəndə ayın nömrəsi saxlanılır,
onun adı deyil!
Kodun düzgün işləməsi üçün,
month ayın nömrəsi ilə,
yəni sayğacın i qiyməti ilə müqayisə edilməlidir:
for (let i = 0; i < arr.length; i++){
if (month === i) { // səhvi düzəltdik
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}