Chyba absence příznaku ve smyčce JavaScript
Předpokládejme, že máme nějaké číslo:
let num = '12345';
Ověřme, zda toto číslo obsahuje zadanou číslici. Jistý programátor již napsal kód, který to implementuje:
for (let digit of num) {
if (digit === '3') {
console.log('je tam');
} else {
console.log('není');
}
}
Tento kód však funguje nesprávně,
vypisuje 'je tam' nebo 'není'
pro každý prvek pole.
My však potřebujeme, aby se výsledek vypsal
pouze jednou. V tomto případě se v kombinaci
se smyčkou problém řeší pouze pomocí příznaku:
let hasDigit = false; // příznak
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('je tam');
} else {
console.log('není');
}