Kļūda - karoga trūkums JavaScript cilpā
Pieņemsim, ka mums ir noteikts skaitlis:
let num = '12345';
Pārbaudīsim, vai šajā skaitlī atrodas noteikts cipars. Kāds programmētājs jau ir uzrakstījis kodu, kas to realizē:
for (let digit of num) {
if (digit === '3') {
console.log('ir');
} else {
console.log('nav');
}
}
Šis kods tomēr strādā nepareizi,
izvadot 'ir' vai 'nav'
katram masīva elementam.
Mums vajag, lai rezultāts tiktu izvadīts
tikai vienu reizi. Šajā gadījumā, kombinējot
ar cilpu, uzdevums tiek atrisināts tikai ar karoga palīdzību:
let hasDigit = false; // karogs
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('ir');
} else {
console.log('nav');
}