Збунета на клучот и елементот во for циклусот во JavaScript
Нека е дадена низа со имиња на месеци:
let arr = [
'јан', 'фев', 'мар', 'апр', 'мај', 'јун',
'јул', 'авг', 'сеп', 'окт', 'ное', 'дек'
];
Нека во променливата month се чува
бројот на тековниот месец:
let month = 10;
Ајде со помош на циклус да ги испечатиме сите месеци, при што тековниот месец ќе го испечатиме со закосени букви.
Некој програмер веќе ја решил оваа задача,
сепак, погрешил и не обрнал внимание
на тоа што во променливата month
се чува бројот на месецот, а не неговото име:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // грешка овде
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Нашиот програмер го споредува елементот од низата
со променливата month. Но, во оваа
променлива се чува бројот на месецот,
а не неговото име!
За да работи кодот правилно,
треба да се спореди month
со бројот на месецот, односно
со вредноста на бројачот i:
for (let i = 0; i < arr.length; i++){
if (month === i) { // ја поправивме грешката
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}