JavaScript даги for циклида калит ва элементларни аралаштириш
Фарз қилайлик, ой номлари билан массив берилган:
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>');
}