Error de falta de bandera en bucle JavaScript
Supongamos que tenemos un número:
let num = '12345';
Comprobemos si este número contiene un dígito determinado. Un programador ya escribió el código que implementa lo descrito:
for (let digit of num) {
if (digit === '3') {
console.log('есть');
} else {
console.log('нет');
}
}
Sin embargo, este código funciona incorrectamente,
mostrando 'есть' o 'нет'
para cada elemento del array.
Nosotros necesitamos que el resultado se muestre
solo una vez. En este caso, para combinar
con el bucle, el problema se resuelve solo mediante una bandera:
let hasDigit = false; // bandera
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('есть');
} else {
console.log('нет');
}