JavaScript ရှိ အရာဝတ္ထုဒြပ်စင်ရယူခြင်း အမှား
ကျွန်ုပ်တို့မှာ အရာဝတ္ထုတစ်ခုရှိသည်ဆိုပါစို့:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
ဒီအရာဝတ္ထုကနေ သော့ချက်တစ်ခုခုဖြင့် ဒြပ်စင်တစ်ခုရယူလိုသည်ဆိုပါစို့။ ထိုသော့ချက်၏အမည်သည် လူသုံးစက် input ထဲသို့ ထည့်သွင်းခြင်းခံရသည်ဆိုပါစို့:
console.log(input.value);
အစပြုသူ programming ပညာရှင်အချို့သည် အောက်ပါအမှားကို ကျူးလွန်တတ်ကြသည်- ၎င်းတို့သည် loop တစ်ခုအတွင်း အရာဝတ္ထုကိုဖြတ်ပြီး input ၏တန်ဖိုးနှင့် သော့ချက်များကို အလှည့်ကျနှိုင်းယှဉ်ကြသည်၊ ဤသို့ဖြစ်သည်:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // ရှာဖွေနေသောတန်ဖိုး
break;
}
}
သို့သော်၊ ဤတာဝန်တွင် loop သည် လုံးဝအပိုအလိုမရှိပါ။ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏တန်ဖိုးကို သော့ချက်ဖြင့် ဤသို့ရယူနိုင်သည်:
let elem = obj[input.value];
လိုအပ်ပါက အရာဝတ္ထုထဲတွင် ထိုကဲ့သို့သောသော့ချက်ရှိမရှိ စစ်ဆေးခြင်းကို ထည့်သွင်းနိုင်သည်:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('အရာဝတ္ထုထဲတွင် ထိုသော့ချက်မရှိပါ');
}