5 of 17 menu

JavaScript တွင် Array အစိတ်အပိုင်းကို ပြင်ဆင်ရာတွင် ဖြစ်တတ်သော အမှား

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

let arr = [1, 2, 3, 4, 5];

ပြီးတော့ ကျွန်ုပ်တို့မှာ ကိန်းတစ်ခုကို parameter အဖြစ် လက်ခံပြီး ၎င်းကိန်း၏ နှစ်ထပ်ကိန်းကို ပြန်ပေးသော function တစ်ခုလည်း ရှိသည်ဆိုပါစို့။

function func(num) { return num ** 2; }

ကျွန်ုပ်တို့၏ array ကို for-of loop ဖြင့် လှည့်ပတ်ကြည့်ပြီး ၎င်း၏ အစိတ်အပိုင်းတစ်ခုစီကို ကျွန်ုပ်တို့၏ function ဖြင့် အသုံးချကြည့်ကြပါစို့။

for (let elem of arr) { elem = func(elem); }

ဒီနေရာမှာ စတင် လေ့လာသူများ အမှားမကြာခဏ လုပ်မိတတ်ပါသည်။ အကြောင်းမှာ elem variable ကို ပြောင်းလဲခြင်းသည် array အတွင်းရှိ အစိတ်အပိုင်းကို ပြောင်းလဲသွားစေခြင်း မရှိပါ။ ၎င်းကို အတည်ပြုကြည့်ရအောင်။

console.log(arr); // array ပြောင်းလဲမှု မရှိပါ

elem variable တွင် အစိတ်အပိုင်း၏ မိတ္တူ (copy) သာသိမ်းဆည်းထားပြီး ၎င်းကို ညွှန်ပြသော reference မဟုတ်သောကြောင့် array သည် မပြောင်းလဲပါ။ elem ကို ပြောင်းလဲခြင်းသည် မိတ္တူအပေါ်တွင် သက်ရောက်မှုရှိသော်လည်း array ကိုယ်နှိုက်အပေါ်တွင်မူ မသက်ရောက်ပါ။

ဤပြဿနာကို ဖြေရှင်းရန် array ၏ အစိတ်အပိုင်းများကိုသာ တိုက်ရိုက် ပြင်ဆင်ရန် လိုအပ်ပါသည်။

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // ယခု array ပြောင်းလဲသွားပါပြီ
မြန်မာ
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 များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်