Kosa ya Kutokuwepo kwa Bendera katika Kitendakazi cha JavaScript
Wacha tutake kutengeneza kitendakazi, ambacho kitachukua tarakimu na nambari kigezo, na kukagua, ikiwa kuna tarakimu maalum katika nambari:
function func(needle, num) {
// hapa kutakuwa na msimbo
}
Hivi ndivyo tutakavyotumia kitendakazi chetu:
console.log(func('3', '12345')); // itaonyesha true
Programu fulani aliandika suluhisho la tatizo hili:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
} else {
return false;
}
}
}
Hata hivyo, suluhisho hili halifanyi kazi vizuri.
Jambo ni kwamba katika kitanzi kuna hali,
ambayo katika iterupo ya kwanza
itaekeshekwa return mmoja,
au wa pili, na hivyo kufanya
mtiririko kutoka kwenye kitanzi, na kutoka kwenye kitendakazi.
Wacha tuandike tena msimbo wetu kwa njia sahihi, tukitumia bendera zisizo wazi katika vitendakazi:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
}
}
return false;
}