Fout: Geen vlag in JavaScript-lus
Kom ons sê ons het 'n sekere getal:
let num = '12345';
Kom ons gaan na of 'n gegewe syfer in hierdie getal voorkom. 'n Sekere programmeerder het reeds die kode geskryf wat dit implementeer:
for (let digit of num) {
if (digit === '3') {
console.log('is');
} else {
console.log('is nie');
}
}
Hierdie kode werk egter nie korrek nie,
aangesien dit 'is' of 'is nie'
vir elke element van die skikking uitdruk.
Ons wil egter hê dat die resultaat slegs
een keer uitgedruk moet word. In hierdie geval word die taak,
in kombinasie met die lus, slegs opgelos deur 'n vlag te gebruik:
let hasDigit = false; // vlag
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('is');
} else {
console.log('is nie');
}