JavaScript Array Method [ 2 ]

javascript-basic

JavaScript Array Method [ 2 ]

ဆက်လက်ပြီး array တွေကိုစီမံကိုင်တွယ်တဲ့နေရာမှာ အသုံးတည့်ပြီး လွယ်ကူစေမဲ့ array method တွေကိုလေ့လာသွားပါမယ်။

some(), every(), find(), findIndex() တို့ပဲဖြစ်ပါတယ်။

👉 Array Methods [ 1 ]

//some data we will work with
    const people = [
      { name: 'Wes', year: 1988 },
      { name: 'Kait', year: 1986 },
      { name: 'Irv', year: 1970 },
      { name: 'Lux', year: 2015 }
    ];

    const comments = [
      { text: 'Love this!', id: 523423 },
      { text: 'Super good', id: 823423 },
      { text: 'You are the best', id: 2039842 },
      { text: 'Ramen is my fav food ever', id: 823423 },
      { text: 'Nice Nice Nice!', id: 542328 }
    ];

some( )

Array ထဲမှာအနည်းဆုံး မိမိလိုချင်တဲ့တန်ဖိုးတစ်ခု ရှိမရှိ စစ်ဆေးဖို့သုံးပါတယ်။ ကိုယ်လိုချင်တဲ့တန်ဖိုးရှိရင်ရလဒ်အနေနဲ့ boolean တန်ဖိုး true ကို return ပြန်ပါတယ်။

    const isAdult = people.some(function(person) {
      const currentYear = (new Date()).getFullYear();
      if(currentYear - person.year >= 19) {
        return true;
      }
    });

   console.log({isAdult});
//result
{isAdult: true}

အသက် ၁၉နှစ်ရှိတဲ့သူတစ်ယောက်ရှိတာနဲ့ true ပြန်မှာပါ။ console.log နဲ့ထုတ်ကြည့်တဲ့အခါတန်ဖိုး true ရလဒ် return ပြန်မှာဖြစ်ပါတယ်။ return ပြန်လာတဲ့ true ဟာ isAdult variable ထဲမှာသိမ်းဆည်းပြီးသားပါ။ obj အနေနဲ့သိမ်းချင်လို့ console.log နဲ့ထုတ်တဲ့အခါ isAdult variable ကို propertyShothand ရေးထုံးအသုံးပြုပြီး object ထဲမှာထည့်ပေးလိုက်တာဖြစ်ပါတယ်။ ပုံမှန်အတိုင်းဆို ဒီလိုရေးရမှာပါ console.log({isAdult = isAdult})။ လက်ခံတဲ့အမည်နဲ့ variable အမည်တူညီလို့ propertyShothand နဲ့ရေးနိုင်တာပါ။ arrayFunction နဲ့ ခုလိုအတိုချုံ့ရေးသားနိုင်ပါတယ်။

//Example code
    const isAdult = people.some(person => ((new 
    Date()).getFullYear()) - person.year >= 19);
    console.log({isAdult});

every( )

သူကတော့ array ထဲကတန်ဖိုးအကုန်လုံးကို စစ်တာပါ။ တန်ဖိုးအားလုံးကိုက်ညီမှ ရလဒ် true ကို return ပြန်မှာပါ။ `some()` လိုတစ်ခုညီယုံနဲ့မရပါဘူး။

//Example Code
    const allAdults = people.every(person => ((new 
    Date()).getFullYear()) - person.year >= 19);
    console.log({allAdults});
//result
{allAdults: false}

find( )

find() က filter() နဲ့ဆင်ပါတယ်။ ကွာသွားတာက find() ကပထမဆုံးကိုက်ညီတဲ့ element တစ်ခုကိုပဲ return ပြန်တာပါ။

//Example code
    const comment = comments.find(comment => comment.id === 823423);
    console.log(comment);
//result
{text: "Super good", id: 823423}

findIndex()

findIndex() က ပထမဆုံးကိုက်ညီတဲ့ element ရဲ့ index ကို return ပြန်ပါတယ်။

    // Find the comment with this ID of 823423
      const index = comments.findIndex(indexs => indexs.id == 
      823423);
      console.log(index);

    //result
    1

ဆက်လက်ပြီး ကိုက်ညီလို့ရလာတဲ့ element index ကိုဖျက်ကြည့်ချင်ပါတယ်။ ဒီလိုရေးရမှာပါ

    //delete the comment with the ID of 823423
    comments.splice(index, 1);
    console.table(comments);

splice() ကိုသုံးပြီးဖျက်လိုက်တာပါ။ splice() function က parameter နှစ်ခုလက်ခံထားပါတယ်။ ပထမတစ်ခုကလုပ်ဆောင်လိုတဲ့ element ကို index တန်ဖိုးနဲ့သတ်မှတ်ပြီးရွေးချယ်လိုက်တာပါ။ ဒုတိယ parameter ကဖျက်မဲ့အရေအတွက်ပါ။ ရွေးထားတဲ့ element ကနေစဖျက်ပါတယ်။ အခုအပေါ်က ရေးဟန်က မူလ comments variable ရဲ့တန်ဖိုးတွေကို ပြောင်းလဲသွားမှာပါ။ console မှာကြည့်ရင်မြင်နိုင်ပါတယ်။ ဒါကို မူလ comments variable ရဲ့တန်ဖိုးတွေကို ပြောင်းလဲမှုမရှိဘဲ ဖျက်ချင်ရင်လည်းရပါတယ်။ ဒီလိုပါ

    const com = [
      ...comments.slice(0, index),  //index is start 0,buy 
      ...comments.slice(index + 1)  //when we count,always start with 1, which value we take.
    ]
    console.table(com);

ဖျက်တာထက် တန်းဖိုးတွေကို ရွေးထုတ်ပြီး ပြန်ပေါင်းထည့်လိုက်တာပါ။ slice() function ကိုသုံးထားပါတယ်။ သူက element တွေကိုထုတ်ယူဖို့အတွက်သုံးပါတယ်။ စမှတ်နဲ့ဆုံးမှတ် parameter နှစ်ခုလက်ခံပါတယ်။ ပထမ parameter မှာစထုတ်မဲ့ element index ကိုသတ်မှတ်ပါတယ်။ index ကိုပေးတဲ့အခါ 0 ကစပါတယ်။ ဒုတိယ parameter မှာထုတ်မဲ့ element အရေအတွက်ကိုသတ်မှတ်ပါတယ်။ ထုတ်ယူမဲ့ element တွေကိုရေတွက်တဲ့နေရာမှာတော့ 1 ကစရေတွက်ပါတယ်။ 1 လို့ပြောရင် ပထမ parameter မှာရွေးထားတဲ့ element တစ်ခုကိုထုတ်သွားမှာပါ။ spreadMethod ကိုသုံးပြီး array ထဲမှာထည့်ထားတဲ့အတွက် ထည့်လိုက်တဲ့ တန်ဖိုးတွေဟာ array index တွေခွဲပြီး(multiple array အဖြစ်)မဝင်တော့ဘဲ index တစ်ခုထဲမှာရောက်သွားမှာပါ။

ဒီလောက်ပါပဲ။ ။

🌱 Happy Coding ...

 
Share this
Proudly part of