Konfuzioni i Çelësit dhe Elementit në Ciklin for në JavaScript
Le të themi se kemi një grup me emrat e muajve:
let arr = [
'Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer',
'Kor', 'Gus', 'Sht', 'Tet', 'Nën', 'Dhj'
];
Le të themi se në variablin month ruhet
numri i muajit aktual:
let month = 10;
Le t'i shfaqim të gjithë muajt duke përdorur një cikël, ndërsa muajin aktual do ta shfaqim me shkronja kursive.
Një programues tashmë e ka zgjidhur këtë detyrë,
por, ai ka bërë një gabim dhe nuk i ka kushtuar vëmendje
faktit që në variablin month
ruhet numri i muajit, dhe jo emri i tij:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // gabimi këtu
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Programuesi ynë po krahason elementin e grupit
me variablin month. Por në këtë
variabël ruhet numri i muajit,
dhe jo emri i tij!
Që kodi të funksionojë si duhet,
duhet të krahasohet month
me numrin e muajit, domethënë
me vlerën e numëruesit i:
for (let i = 0; i < arr.length; i++){
if (month === i) { // e korrigjuam gabimin
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}