Ralat ketiadaan bendera dalam gelung JavaScript
Katakan kita mempunyai suatu nombor:
let num = '12345';
Mari kita semak sama ada digit yang ditentukan ada dalam nombor ini. Seorang pengaturcara telah menulis kod yang melaksanakan perkara berikut:
for (let digit of num) {
if (digit === '3') {
console.log('ada');
} else {
console.log('tiada');
}
}
Walau bagaimanapun, kod ini berfungsi dengan tidak betul,
mencetak 'ada' atau 'tiada'
untuk setiap elemen dalam tatasusunan.
Kita memerlukan hasil dicetak
hanya sekali. Dalam kes ini, untuk diselesaikan bersama
gelung, masalah hanya boleh diselesaikan dengan menggunakan bendera:
let hasDigit = false; // bendera
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('ada');
} else {
console.log('tiada');
}