JavaScript ရှိ အလံများနှင့် အလုပ်လုပ်ခြင်း
ယခုအခါ အလံ များနှင့် အလုပ်လုပ်နည်းကို သင်ယူပါမည်။
အလံဆိုသည်မှာ ၎င်း၏တန်ဖိုးအဖြစ် true နှင့် false တို့ကိုသာ လက်ခံနိုင်သည့် အထူးပြောင်းလဲနိုင်သော တစ်ခုဖြစ်သည်။ အလံများကို အသုံးပြု၍ တစ်စုံတစ်ခုမရှိခြင်းကို စစ်ဆေးသော ပြဿနာများကို ဖြေရှင်းနိုင်သည်။
ဥပမာအားဖြင့်၊ Array ထဲတွင် တိကျသောတန်ဖိုးရှိသော အစိတ်အပိုင်းမရှိကြောင်း စစ်ဆေးနိုင်သည်။ စတင်ကြပါစို့။
အောက်ပါပြဿနာကို ဖြေရှင်းကြပါစို့။ ဂဏန်းများပါရှိသော Array တစ်ခုကိုပေးထားပြီး ၎င်းထဲတွင် တန်ဖိုး 3 ရှိသောအစိတ်အပိုင်း ရှိမရှိ စစ်ဆေးရန်လိုအပ်သည်။
ရှိပါက '+++' ကို ထုတ်ပြပြီး မရှိပါက '---' ကို ထုတ်ပြရန် လိုအပ်သည်။
ပထမဦးစွာ '+++' ကို ထုတ်ပြရန် ကြိုးစားကြည့်ပါစို့။
ကျွန်ုပ်တို့၏ Array ၏အစိတ်အပိုင်းအားလုံးကို ဖြတ်လည်ပြီး လက်ရှိအစိတ်အပိုင်းသည် တန်ဖိုး 3 နှင့် ညီမျှပါက if ဖြင့် စစ်ဆေးမည်ဖြစ်သည်။ ညီမျှပါက '+++' ကို ထုတ်ပြမည်။
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++');
}
}
သို့သော် ကျွန်ုပ်တို့၏ဖြေရှင်းချက်သည် သိပ်မကောင်းပါ။ ဘာဖြစ်လို့လဲဆိုတော့ Array ထဲတွင် တန်ဖိုး 3 တစ်ခုမဟုတ်ဘဲ အများကြီးရှိပါက '+++' ကို အကြိမ်ပေါင်းများစွာ ထုတ်ပြမည်ဖြစ်သည်။ ကျွန်ုပ်တို့၏ Array ကို ပြင်ဆင်ပါ (တန်ဖိုး 3 ရှိသော အစိတ်အပိုင်းနှစ်ခုပြုလုပ်ပါ) နှင့် ဤအချက်ကို အာမခံပါစို့။
let arr = [1, 2, 3, 4, 3, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++'); // အကြိမ်ပေါင်းများစွာ ထုတ်ပြမည်
}
}
ပြဿနာကို ပြင်ဆင်ပါမည်။ အစိတ်အပိုင်းကို တွေ့ရှိပြီးပါက break ကိုသုံး၍ loop ကို ရပ်လိုက်ပါမည်။
let arr = [1, 2, 3, 4, 3, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++');
break; // loop ကို ရပ်လိုက်မည်
}
}
ယခုအခါ Array ထဲတွင် တန်ဖိုး 3 ရှိသောအစိတ်အပိုင်း အလုံးစုံမရှိပါက '---' ကိုထုတ်ပြရန် ကြိုးစားကြည့်ကြပါစို့။ လူအများစု မှားယွင်းစွာ နားလည်တတ်သည်မှာ ကျွန်ုပ်တို့၏ if သို့ else ထည့်ရန်ဖြစ်သည်။ ဤနည်းဖြင့် '---' ကို 3 မဟုတ်သော အစိတ်အပိုင်းအားလုံးတွင် ထုတ်ပြမည်ဖြစ်သည်။
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++'); // အစိတ်အပိုင်း 3 တွင် ထုတ်ပြမည်
} else {
console.log('---'); // အစိတ်အပိုင်း 1, 2, 4, 5 တို့တွင် ထုတ်ပြမည်
}
}
ထို့ကြောင့် else ထည့်ရန် အကြံဉာဏ်သည် အလုပ်မဖြစ်သော ဆိုးရွားသည့် အကြံဉာဏ်တစ်ခုဖြစ်သည်။ ဤကဲ့သို့သော ပြဿနာအမျိုးအစားများ (ထိုကဲ့သို့သော ပြဿနာများကို မကြာခဏ တွေ့ရသည်) ကို ဖြေရှင်းရန်အတွက် အလံဟုခေါ်သည့် အရာကို အသုံးပြုကြသည်။
အထက်တွင်ဖော်ပြခဲ့သည့်အတိုင်း၊ အလံဆိုသည်မှာ ၎င်း၏တန်ဖိုးအဖြစ် true သို့မဟုတ် false တို့ကို လက်ခံနိုင်သည့် ပြောင်းလဲနိုင်သောတစ်ခုဖြစ်သည်။
ထို့ကြောင့် flag ဟုခေါ်သော ပြောင်းလဲနိုင်သည့်တစ်ခုကို ပြုလုပ်ကြပါစို့။ ထိုတန်ဖိုးဖြင့် အကယ်၍ ၎င်းသည် true နှင့် ညီမျှပါက Array ထဲတွင် အစိတ်အပိုင်း 3 ရှိပြီး false ဖြစ်ပါက ထိုကဲ့သို့သော အစိတ်အပိုင်းမရှိပါ။
အစတွင် ပြောင်းလဲနိုင်သည့် flag ကို တန်ဖိုး false သို့ သတ်မှတ်ထားပါမည်။ ဆိုလိုသည်မှာ Array ထဲတွင် အစိတ်အပိုင်း 3 မရှိဟု ယူဆပါမည်။
let arr = [1, 2, 3, 4, 5];
let flag = false; // Array ထဲတွင် အစိတ်အပိုင်း 3 မရှိဟု ယူဆပါမည်။
ထို့နောက် ကျွန်ုပ်တို့ ယခင်က ပြုလုပ်ခဲ့သည့်အတိုင်း if ဖြင့် loop ကို စတင်ပါမည်။ အကယ်၍ loop က Array ထဲတွင် အစိတ်အပိုင်း 3 ရှိကြောင်း တွေ့ရှိပါက ပြောင်းလဲနိုင်သည့် flag ကို တန်ဖိုး true သို့ သတ်မှတ်ပြီး break ကို အသုံးပြု၍ loop မှ ထွက်ခွာသွားပါမည်။
let arr = [1, 2, 3, 4, 5];
let flag = false; // Array ထဲတွင် အစိတ်အပိုင်း 3 မရှိဟု ယူဆပါမည်။
for (let elem of arr) {
if (elem == 3) {
flag = true; // အစိတ်အပိုင်းရှိနေပြီ - ပြောင်းလဲနိုင်သည့် flag ကို ပြန်လည်သတ်မှတ်ပါမည်။
break; // loop မှ ထွက်ခွာသွားပါမည်။
}
}
Array ထဲတွင် 3 ရှိမရှိ မေးခွန်းအတွက် အဖြေကို loop ပြီးနောက်မှသာ ပေးနိုင်ပါသည်။
ထိုအဖြေသည် ကျွန်ုပ်တို့၌ ရှိနှင့်ပြီးဖြစ်သည်။ loop ပြီးနောက် ပြောင်းလဲနိုင်သည့် flag သည် false အတိုင်း ကျန်ရစ်နိုင်ပြီး သို့မဟုတ် loop က Array ထဲတွင် 3 ကိုတွေ့ရှိပါက ၎င်း၏တန်ဖိုးကို true သို့ ပြောင်းလဲနိုင်သည်။
let arr = [1, 2, 3, 4, 5];
let flag = false;
for (let elem of arr) {
if (elem == 3) {
flag = true;
break;
}
}
// ဤနေရာတွင် ပြောင်းလဲနိုင်သည့် flag သည် true သို့မဟုတ် false နှင့် ညီသည်။
ယခုအခါ loop ပြီးနောက် ပြောင်းလဲနိုင်သည့် flag ကိုကြည့်ရှုပြီး '+++' သို့မဟုတ် '---' ကို စကရင်ပေါ်တွင် ထုတ်ပြမည့် if တစ်ခုကို ပြုလုပ်နိုင်ပါသည်။
let arr = [1, 2, 3, 4, 5];
let flag = false;
for (let elem of arr) {
if (elem == 3) {
flag = true;
break;
}
}
if (flag === true) {
console.log('+++');
} else {
console.log('---');
}
Array ကိုပေးထားသည်။
let arr = ['a', 'b', 'c', 'd', 'e'];
ဤ Array ထဲတွင် အစိတ်အပိုင်း 'c' ရှိမရှိ စစ်ဆေးပါ။
ရှိပါက '+++' ကိုထုတ်ပြပြီး မရှိပါက '---' ကို ထုတ်ပြပါ။
ကိန်းတစ်ခုသည် ပင်မကိန်းလား၊ မဟုတ်လားဆိုသည်ကို စစ်ဆေးမည့် code ကိုရေးပါ။ ပင်မကိန်းသည် တစ်နှင့် ၎င်းကိုယ်၎င်းသာ စားချေနိုင်ပြီး အခြားကိန်းများဖြင့် စားချေ၍မရပါ။