6 of 17 menu

JavaScript တွင် for-in loop ဖြင့် Array ကိုဖြတ်ကျော်ရာတွင် အမှား

Array ကိုဖြတ်ကျော်ရန် for-of loop ကိုအသုံးပြုသင့်ပါသည်။ သို့သော် တစ်ခါတစ်ရံတွင် အစပြုသူများသည် for-in loop ကို မှားယွင်းစွာအသုံးပြုရန် ကြိုးစားတတ်ကြသည်။ ဤအမှား၏ ထင်ရှားသောလက္ခဏာများကို ကြည့်ရှုကြပါစို့။

ကျွန်ုပ်တို့တွင် array တစ်ခုရှိသည်ဆိုပါစို့။

let arr = ['a', 'b', 'c'];

ဤ Array ၏ element များကိုဖြတ်ကျော်ပြီး အားလုံးကို string တစ်ကြောင်းတည်းဖြစ်အောင် ရေးကြည့်ကြပါစို့။

ပရိုဂရမ်မာတစ်ဦးသည် ဤပြဿနာကိုဖြေရှင်းပြီးဖြစ်သော်လည်း၊ for-in loop ကို မှားယွင်းစွာအသုံးပြုမိခဲ့သည်။ သူ၏ရလဒ်ကို ကြည့်ရှုကြည့်ရအောင်။

let res = ''; for (let elem in arr) { res += elem; } console.log(res); // '012' ကိုဖော်ပြမည်

ထို့ကြောင့် ရလဒ်အဖြစ် 'abc' မဟုတ်ဘဲ '012' string ကိုရရှိသည်။ ဤသို့ဖြစ်ရခြင်း၏ အကြောင်းရင်းကို ရှာဖွေကြည့်ကြပါစို့။

အဘယ်ကြောင့် for-in loop ဖြင့် array ကိုဖြတ်ကျော်နိုင်သနည်း။ အကြောင်းမှာ JavaScript တွင် array သည် object ၏ အထူးကိစ္စတစ်ခုဖြစ်သောကြောင့်ပင်။ ထို့ကြောင့် ဤကုဒ်သည် နည်းပညာအရမှန်ကန်သော်လည်း ဤသို့လုပ်ဆောင်ခြင်းမပြုသင့်ပါ။

အကြောင်းမှာ for-in သည် အခြေအနေအချို့တွင် ပိုလျှံသောအရာများကို ထိတွေ့နိုင်ပြီး၊ array ၏ element များအပြင် ဖြတ်ကျော်ရာတွင် အခြားသော အပိုပစ္စည်းများပါ ရရှိနိုင်သောကြောင့်ဖြစ်သည်။ Array များကို for-of ဖြင့်သာ ဖြတ်ကျော်ပါ။

ယခု ကျွန်ုပ်တို့ ထိုထူးဆန်းသောရလဒ်ကို မြင်ရသည့် အကြောင်းရင်းကို ရှာဖွေကြည့်ကြပါစို့။ အကြောင်းမှာ for-in ဖြင့်ဖြတ်ကျော်ရာတွင် elem variable ထဲသို့ ဤ variable အမည်က စိတ်ရှုပ်စေသော်လည်း တကယ်တော့ key များသာ ဝင်ရောက်နေသောကြောင့်ဖြစ်သည်။

ယခု ကျွန်ုပ်တို့ကျူးလွန်မိသော အမှားကိုပြင်ဆင်ကာ မှန်ကန်သောကုဒ်ကို ရေးကြည့်ကြပါစို့။

let arr = ['a', 'b', 'c']; let res = ''; for (let elem of arr) { res += elem; } console.log(res); // 'abc' ကိုဖော်ပြမည်
မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်