Kebingungan antara Kunci dan Elemen dalam Perulangan for di JavaScript
Misalkan diberikan array dengan nama-nama bulan:
let arr = [
'Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun',
'Jul', 'Agu', 'Sep', 'Okt', 'Nov', 'Des'
];
Misalkan dalam variabel month disimpan
nomor bulan berjalan:
let month = 10;
Mari kita gunakan perulangan untuk menampilkan semua bulan, di mana bulan berjalan akan ditampilkan dengan huruf miring.
Seorang programmer telah memecahkan masalah ini,
namun, dia melakukan kesalahan dan tidak memperhatikan
bahwa dalam variabel month
disimpan nomor bulan, bukan namanya:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // kesalahan di sini
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Programmer kita membandingkan elemen array
dengan variabel month. Tapi bukankah dalam
variabel ini disimpan nomor bulan,
bukan namanya!
Agar kode bekerja dengan benar,
perlu membandingkan month
dengan nomor bulan, yaitu
dengan nilai counter i:
for (let i = 0; i < arr.length; i++){
if (month === i) { // memperbaiki kesalahan
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}