Fout ontbrekende vlag in JavaScript-lus
Stel we hebben een bepaald getal:
let num = '12345';
Laten we controleren of een bepaald cijfer in dit getal voorkomt. Een programmeur heeft al code geschreven die dit implementeert:
for (let digit of num) {
if (digit === '3') {
console.log('ja');
} else {
console.log('nee');
}
}
Deze code werkt echter niet correct,
omdat hij 'ja' of 'nee'
uitvoert voor elk element van de array.
We willen echter dat het resultaat
slechts één keer wordt weergegeven. In dit geval
kan de taak in combinatie met een lus alleen
worden opgelost met een vlag:
let hasDigit = false; // vlag
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('ja');
} else {
console.log('nee');
}