Mgogoro wa Ufunguo na Kipengele katika Kitanzi cha for katika JavaScript
Acha tuwe na safu yenye majina ya miezi:
let arr = [
'Jan', 'Feb', 'Mach', 'Apr', 'Mei', 'Jun',
'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'
];
Acha katika kibadilishaji month ihifadhiwe
nambari ya mwezi wa sasa:
let month = 10;
Wacha kwa kutumia kitanzi tuonyeshe miezi yote, wakati mwezi wa sasa utaonyeshwa kwa herufi iliyopindika.
Programmer fulani tayari amesuluhisha tatizo hili,
lakini, alikosea na hakuzingatia
kwamba katika kibadilishaji month
inhifadhi nambari ya mwezi, na si jina lake!
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // kosa hapa
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Programmer wetu analinganisha kipengele cha safu
na kibadilishaji month. Lakini hivi
kibadilishaji hiki kinahifadhi nambari ya mwezi,
na si jina lake!
Ili kificho kifanye kazi vizuri,
inahitajika kulinganisha month
na nambari ya mwezi, yaani
na thamani ya kihesabuji i:
for (let i = 0; i < arr.length; i++){
if (month === i) { // tumesahihisha kosa
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}