A zászló hiánya hiba JavaScript ciklusban
Tegyük fel, hogy van egy számunk:
let num = '12345';
Ellenőrizzük, hogy a megadott számjegy megtalálható-e ebben a számban. Egy programozó már megírta a fentiek megvalósításához szükséges kódot:
for (let digit of num) {
if (digit === '3') {
console.log('van');
} else {
console.log('nincs');
}
}
Ez a kód azonban helytelenül működik,
mivel 'van' vagy 'nincs'
értéket ír ki a tömb minden elemére.
Ahhoz azonban, hogy az eredmény csak
egyszer jelenjen meg, a ciklus mellett
a feladat csak zászlóval oldható meg:
let hasDigit = false; // zászló
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('van');
} else {
console.log('nincs');
}