Грешка недостаток на знаме во циклот во JavaScript
Нека имаме одреден број:
let num = '12345';
Да провериме дали во овој број има зададена цифра. Некој програмер веќе напиша код кој го имплементира описanoтo:
for (let digit of num) {
if (digit === '3') {
console.log('има');
} else {
console.log('нема');
}
}
Овој код, сепак, работи неточно,
прикажувајќи 'има' или 'нема'
за секој елемент од низата.
Нам ни треба резултатот да се прикаже
само еднаш. Во овој случај, во комбинација
со циклусот, задачата се решава само со знаме:
let hasDigit = false; // знаме
for (let digit of num) {
if (digit === '3') {
hasDigit = true;
break;
}
}
if (hasDigit) {
console.log('има');
} else {
console.log('нема');
}