Eroare lipsă flag în bucla JavaScript
Să presupunem că avem un anumit număr:
let num = '12345';
Să verificăm dacă în acest număr există o cifră specificată. Un programator a scris deja codul care implementează cele descrise:
for (let digit of num) {
if (digit === '3') {
console.log('există');
} else {
console.log('nu');
}
}
Acest cod, însă, funcționează incorect,
afișând 'există' sau 'nu'
pentru fiecare element al șirului.
Noi avem nevoie ca rezultatul să fie afișat
doar o singură dată. În acest caz, în combinație
cu bucla, problema se rezolvă doar prin flag:
let hasDigit = false; // flag
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('există');
} else {
console.log('nu');
}