JavaScript циклинде флагсыз иштөө катасы
Анда бизде белгилүү бир сан бар деп коёлу:
let num = '12345';
Келгиле, бул санда берилген сан барбы же жокпу текшеребиз. Бир программачы буга ылайык кодду жазып койгон:
for (let digit of num) {
if (digit === '3') {
console.log('бар');
} else {
console.log('жок');
}
}
Бирок, бул код туура эмес иштейт, ал массивдин ар бир элементи үчүн
'бар' же 'жок' деп чыгарат.
Бизге эсептеме бир гана жолу чыгуусу керек.
Бул учурда, цикл менен бирге маселэ флаг аркылуу гана чечилет:
let hasDigit = false; // флаг
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('бар');
} else {
console.log('жок');
}