JavaScript ရှိ function အတွင်း flag မပါခြင်း အမှား
ကျွန်ုပ်တို့သည် ဂဏန်းတစ်လုံးနှင့် နံပါတ်တစ်ခုကို parameter အဖြစ် လက်ခံပြီး ပေးထားသော ဂဏန်းသည် နံပါတ်ထဲတွင် ပါဝင်မပါဝင်ကို စစ်ဆေးမည့် function တစ်ခု လုပ်ချင်သည်ဆိုပါစို့။
function func(needle, num) {
// ဒီနေရာမှာ ကုဒ်ရှိမည်
}
ကျွန်ုပ်တို့၏ function ကို ဤကဲ့သို့ အသုံးပြုပါမည်။
console.log(func('3', '12345')); // true ကို ထုတ်ပြမည်
ပရိုဂရမ်မာတစ်ယောက်သည် ဤပြဿနာကို ဤကဲ့သို့ အဖြေရေးထားသည်။
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
} else {
return false;
}
}
}
သို့သော် ဤအဖြေသည် မမှန်ကန်စွာ အလုပ်လုပ်ပါ။
အကြောင်းမှာ loop အတွင်းရှိ အခြေအနေတွင်
ပထမဆုံးအကြိမ် iteration မှာပင် return တစ်ခုခု
အလုပ်လုပ်သွားမည်ဖြစ်ပြီး၊ ထိုသို့ဖြင့် loop နှင့် function ထဲမှ
ထွက်ခွာသွားခြင်း ဖြစ်စေသည်။
ကျွန်ုပ်တို့၏ ကုဒ်ကို function များအတွင်း သွယ်ဝိုက်ညွှန်ပြသော အလံများ ကို အသုံးပြု၍ မှန်ကန်သောပုံစံဖြင့် ပြန်ရေးကြည့်ပါမည်။
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
}
}
return false;
}