Gabimi i mungesës së flamurit në ciklin JavaScript
Le të themi se kemi një numër:
let num = '12345';
Le të kontrollojmë nëse në këtë numër ndodhet një shifër e caktuar. Një programues tashmë ka shkruar kodin që zbaton sa më sipër:
for (let digit of num) {
if (digit === '3') {
console.log('ka');
} else {
console.log('nuk ka');
}
}
Megjithatë, ky kod nuk funksionon si duhet,
duke shfaqur 'ka' ose 'nuk ka'
për çdo element të vargut.
Ne, nga ana tjetër, duam që rezultati të shfaqet
vetëm një herë. Në këtë rast, në kombinim
me ciklin, problemi zgjidhet vetëm përmes një flamuri:
let hasDigit = false; // flamur
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('ka');
} else {
console.log('nuk ka');
}