JavaScript funksiýasynda flýag bolmazlygy ýalňyşlygy
Biz bir funksiýa ýasamak isleýäris, onuň parametri bolup san we belgi bolup, berlen belginiň san içinde bardygyny barlamaly:
function func(needle, num) {
// şu ýerde kod bolar
}
Biz öz funksiýamyzdan şeýle peýdalanarys:
console.log(func('3', '12345')); // true görkezer
Belli bir programmist bu meseläniň çözümini şeýle ýazdy:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
} else {
return false;
}
}
}
Emma bu çözüm dogry işlemeýär.
Sebäbi, aýlawda ýazylyşy şert bar,
onda birinji iterasiýada
ýa-da bir return ýerine ýetiriler,
ýa-da ikinjisi, şeýlelik-de
aýlawdan we funksiýadan çykmak amala aşyrlar.
Kodymyzy dogry ýazyş usuly bilen ýazaýaly, funksiýalarda gizlin flýaglar ulanmak bilen:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
}
}
return false;
}