Feil ved manglende flagg i JavaScript-løkke
La oss si at vi har et tall:
let num = '12345';
La oss sjekke om dette tallet inneholder et spesifikt siffer. En programmerer har allerede skrevet kode som gjør dette:
for (let digit of num) {
if (digit === '3') {
console.log('finnes');
} else {
console.log('ikke');
}
}
Denne koden fungerer imidlertid ikke korrekt,
den skriver ut 'finnes' eller 'ikke'
for hvert element i arrayet.
Vi trenger at resultatet kun vises
én gang. I dette tilfellet løses oppgaven
kombinert med en løkke kun ved hjelp av et flagg:
let hasDigit = false; // flagg
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('finnes');
} else {
console.log('ikke');
}