Greška nedostatka flag-a u JavaScript petlji
Pretpostavimo da imamo određeni broj:
let num = '12345';
Hajde da proverimo da li se u ovom broju nalazi zadata cifra. Neki programer je već napisao kod koji implementira opisano:
for (let digit of num) {
if (digit === '3') {
console.log('ima');
} else {
console.log('nema');
}
}
Ovaj kod, međutim, ne radi korektno,
što ispisuje 'ima' ili 'nema'
za svaki element niza.
Nama je potrebno da se rezultat ispiše
samo jednom. U ovom slučaju, u kombinaciji
sa petljom, problem se rešava samo putem flag-a:
let hasDigit = false; // flag
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('ima');
} else {
console.log('nema');
}