Kesalahan Tidak Ada Bendera dalam Perulangan JavaScript
Misalkan kita memiliki suatu angka:
let num = '12345';
Mari kita periksa, apakah dalam angka ini terdapat digit yang ditentukan. Seorang programmer telah menulis kode yang mengimplementasikan hal tersebut:
for (let digit of num) {
if (digit === '3') {
console.log('ada');
} else {
console.log('tidak ada');
}
}
Kode ini, bagaimanapun, bekerja tidak benar,
menampilkan 'ada' atau 'tidak ada'
untuk setiap elemen array.
Kita ingin agar hasilnya ditampilkan
hanya satu kali. Dalam hal ini, kombinasi
dengan perulangan masalahnya hanya dapat diselesaikan dengan bendera:
let hasDigit = false; // bendera
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('ada');
} else {
console.log('tidak ada');
}