JS ကျူတိုရီရယ်

JS ပင်မ JS မိတ်ဆက် JS ဘယ်သွားမလဲ။ JS Output JS ထုတ်ပြန်ချက် JS Syntax JS မှတ်ချက်များ JS အပြောင်းအလဲများ JS Let JS Const JS အော်ပရေတာများ JS ဂဏန်းသင်္ချာ JS တာဝန် JS ဒေတာအမျိုးအစားများ JS လုပ်ဆောင်ချက်များ JS အရာဝတ္ထုများ JS ပွဲများ JS စာတန်းများ JS စာတန်းနည်းလမ်းများ JS စာတန်းရှာဖွေမှု JS String Templates JS နံပါတ်များ JS နံပါတ်နည်းလမ်းများ JS Arrays JS Array Methods JS Array အမျိုးအစား JS Array Iteration JS Array Const JS ရက်စွဲများ JS ရက်စွဲပုံစံများ JS နေ့စွဲ နည်းလမ်းများ ရယူပါ။ JS ရက်စွဲ သတ်မှတ်နည်းလမ်းများ JS သင်္ချာ JS Random JS Booleans JS နှိုင်းယှဉ်မှုများ JS အခြေအနေများ JS Switch JS Loop For JS Loop For In JS Loop For Of JS Loop While JS Break JS Iterables JS အစုံများ JS Maps JS အမျိုးအစား JS အမျိုးအစား ပြောင်းခြင်း။ JS Bitwise JS RegExp JS အမှားများ JS နယ်ပယ် JS Hoisting JS တင်းကျပ်သောမုဒ် JS ဒီ Keyword ပါ။ JS Arrow Function JS သင်တန်းများ JS JSON JS Debugging JS စတိုင်လမ်းညွှန် JS အကောင်းဆုံးအလေ့အကျင့်များ JS အမှားများ JS စွမ်းဆောင်ရည် JS သီးသန့်စကားလုံးများ

JS ဗားရှင်းများ

JS ဗားရှင်းများ JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS သမိုင်း

JS အရာဝတ္ထုများ

Object အဓိပ္ပါယ်ဖွင့်ဆိုချက် Object Properties များ အရာဝတ္ထုနည်းလမ်းများ အရာဝတ္ထုပြသခြင်း။ အရာဝတ္ထု ဆက်စပ်ပစ္စည်းများ Object Constructors များ Object Prototypes Object Iterables အရာဝတ္ထုအစုံများ အရာဝတ္ထုမြေပုံများ Object ကိုးကား

JS လုပ်ဆောင်ချက်များ

လုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက် လုပ်ဆောင်ချက် ကန့်သတ်ချက်များ Function Invocation လုပ်ဆောင်ချက်ခေါ်ဆိုမှု လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ Function ပိတ်ခြင်းများ

JS သင်တန်းများ

အတန်းမိတ်ဆက် Class Inheritance အတန်းထဲမှာလည်း

JS Async

JS ပြန်ခေါ်မှုများ JS Asynchronous JS ကတိများ JS Async/Await

JS HTML DOM

DOM မိတ်ဆက် DOM နည်းလမ်းများ DOM စာရွက်စာတမ်း DOM ဒြပ်စင်များ DOM HTML DOM ပုံစံများ DOM CSS DOM အန်နီမေးရှင်းများ DOM ပွဲများ DOM ဖြစ်ရပ် နားထောင်သူ DOM လမ်းညွှန် DOM Nodes DOM စုစည်းမှုများ DOM Node စာရင်းများ

JS Browser BOM

JS Window JS မျက်နှာပြင် JS တည်နေရာ JS သမိုင်း JS Navigator JS Popup သတိပေးချက် JS Timing JS Cookies

JS ဝဘ် API များ

ဝဘ် API မိတ်ဆက် ဝဘ်ဖောင် API ဝဘ်သမိုင်း API ဝဘ်သိုလှောင်မှု API Web Worker API Web Fetch API ဝဘ် Geolocation API

JS AJAX

AJAX နိဒါန်း AJAX XMLHttp AJAX တောင်းဆိုချက် AJAX တုံ့ပြန်မှု AJAX XML ဖိုင် AJAX PHP AJAX ASP AJAX ဒေတာဘေ့စ် AJAX အပလီကေးရှင်းများ AJAX ဥပမာများ

JS JSON

JSON မိတ်ဆက် JSON Syntax JSON နှင့် XML JSON ဒေတာအမျိုးအစားများ JSON Parse JSON Stringify JSON အရာဝတ္ထုများ JSON Arrays JSON ဆာဗာ JSON PHP JSON HTML JSON JSONP

JS နှင့် jQuery

jQuery ရွေးချယ်မှုများ jQuery HTML jQuery CSS jQuery DOM

JS ဂရပ်ဖစ်

JS ဂရပ်ဖစ် JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

JS ဥပမာများ

JS ဥပမာများ JS HTML DOM JS HTML ထည့်သွင်းမှု JS HTML Objects JS HTML ပွဲများ JS Browser JS တည်းဖြတ်သူ JS လေ့ကျင့်ခန်းများ JS Quiz JS လက်မှတ်

JS ကိုးကားချက်များ

JavaScript Objects HTML DOM အရာဝတ္ထုများ


JavaScript Sorting Arrays


Array တစ်ခုစီခွဲခြင်း။

နည်းလမ်း သည် sort()array တစ်ခုကို အက္ခရာစဉ်အလိုက် စီသည်-

ဥပမာ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

Array တစ်ခုကို ပြောင်းပြန်လှန်ခြင်း။

နည်းလမ်း သည် reverse()array တစ်ခုရှိ element များကို ပြောင်းပြန်လှန်သည်။

array တစ်ခုကို ကြီးစဉ်ငယ်လိုက် စီရန် ၎င်းကို သင်သုံးနိုင်သည်-

ဥပမာ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

ဂဏန်းအမျိုးအစား

ပုံမှန်အားဖြင့်၊ sort()function သည် တန်ဖိုးများကို strings များအဖြစ် အမျိုးအစားခွဲသည် ။

၎င်းသည် ကြိုးများအတွက် ကောင်းမွန်စွာ အလုပ်လုပ်သည် ("Apple" သည် "Banana" မတိုင်မီ ဖြစ်သည်)။

သို့သော်၊ ဂဏန်းများကို ကြိုးများအဖြစ် စီထားပါက "25" သည် "100" ထက် ပိုကြီးသောကြောင့် "2" သည် "1" ထက် ပိုကြီးသောကြောင့်ဖြစ်သည်။

ထို့အတွက်ကြောင့် ၊ sort()နံပါတ်များကို စီထားသောအခါတွင် မှားယွင်းသောရလဒ်ထွက်ရှိလာမည်ဖြစ်သည်။

နှိုင်းယှဥ်လုပ်ဆောင်ချက်ကို ပေးခြင်းဖြင့် ၎င်းကို သင်ပြင်ဆင်နိုင်သည် -

ဥပမာ

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});

Array မှ ကြီးစဉ်ငယ်လိုက် စီရန် တူညီသောလှည့်ကွက်ကို အသုံးပြုပါ-

ဥပမာ

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b - a});


နှိုင်းယှဉ်လုပ်ဆောင်ချက်

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

နှိုင်းယှဉ်မှုလုပ်ဆောင်ချက်သည် အကြောင်းပြချက်များပေါ်မူတည်၍ အနုတ်၊ သုည သို့မဟုတ် အပြုသဘောတန်ဖိုးကို ပြန်ပေးသင့်သည်-

function(a, b){return a - b}

လုပ်ဆောင်ချက်သည် တန်ဖိုးနှစ်ခုကို နှိုင်းယှဉ် သောအခါ sort()၊ ၎င်းသည် တန်ဖိုးများကို နှိုင်းယှဉ်လုပ်ဆောင်မှုသို့ ပေးပို့ပြီး ပြန်ပေးသည့်တန်ဖိုး (အနုတ်လက္ခဏာ၊ သုည၊ အပြုသဘော) တန်ဖိုးများအလိုက် တန်ဖိုးများကို အမျိုးအစားခွဲသည်။

ရလဒ်က အနုတ်လက္ခဏာ aဖြစ်လျှင် ရှေ့တွင် စီထားသည် b

ရလဒ်က အပေါင်းလက္ခဏာဆောင် bရင် ရှေ့ကို စီ aပါ။

ရလဒ်သည် 0 ဖြစ်ပါက တန်ဖိုးနှစ်ခု၏ အမျိုးအစားအစီအစဥ်ဖြင့် ပြောင်းလဲမှုမရှိပါ။

ဥပမာ-

နှိုင်းယှဥ်မှုလုပ်ဆောင်ချက်သည် array ရှိ တန်ဖိုးအားလုံးကို တစ်ကြိမ်လျှင် တန်ဖိုးနှစ်ခု နှိုင်းယှဉ်သည် (a, b)

40 နှင့် 100 ကို နှိုင်းယှဥ်သောအခါ၊ sort()method သည် နှိုင်းယှဉ်လုပ်ဆောင်ချက် (40၊ 100) ကို ခေါ်သည်။

လုပ်ဆောင်ချက်သည် 40 - 100 ကို တွက်ချက်ပြီး (a - b)ရလဒ်သည် အနှုတ် (-60) ဖြစ်သောကြောင့်၊ အမျိုးအစားခွဲသည့်လုပ်ဆောင်ချက်သည် 100 ထက်နိမ့်သောတန်ဖိုးအဖြစ် 40 ကို စီမည်ဖြစ်သည်။

ဂဏန်းများနှင့် အက္ခရာစဉ်အလိုက် စီထားခြင်းကို စမ်းသပ်ရန် ဤကုဒ်အတိုအထွာကို သင်အသုံးပြုနိုင်သည်-

<button onclick="myFunction1()">Sort Alphabetically</button>
<button onclick="myFunction2()">Sort Numerically</button>

<p id="demo"></p>

<script>
const points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;

function myFunction1() {
  points.sort();
  document.getElementById("demo").innerHTML = points;
}

function myFunction2() {
  points.sort(function(a, b){return a - b});
  document.getElementById("demo").innerHTML = points;
}
</script>

Random Order တွင် Array တစ်ခုစီခြင်း

ဥပမာ

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return 0.5 - Math.random()});


Fisher Yates နည်းလမ်း

အထက်ဖော်ပြပါ ဥပမာ၊ array .sort() သည် တိကျမှုမရှိပါ၊ ၎င်းသည် အခြားနံပါတ်များထက် အချို့သောနံပါတ်များကို ဦးစားပေးပါမည်။

ရေပန်းအစားဆုံး မှန်ကန်သောနည်းလမ်းကို Fisher Yates shuffle ဟုခေါ်ပြီး ၁၉၃၈ ခုနှစ်အစောပိုင်းတွင် ဒေတာသိပ္ပံတွင် စတင်မိတ်ဆက်ခဲ့သည်။

JavaScript တွင် ဤနည်းလမ်းကို ဘာသာပြန်နိုင်သည်။

ဥပမာ

const points = [40, 100, 1, 5, 25, 10];

for (let i = points.length -1; i > 0; i--) {
  let j = Math.floor(Math.random() * i)
  let k = points[i]
  points[i] = points[j]
  points[j] = k
}


အမြင့်ဆုံး (သို့မဟုတ် အနိမ့်ဆုံး) Array တန်ဖိုးကို ရှာပါ။

array တစ်ခုတွင် max သို့မဟုတ် min value ကိုရှာဖွေရန်အတွက် built-in function မရှိပါ။

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

ကြီးလိုက် စီခြင်း-

ဥပမာ

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});
// now points[0] contains the lowest value
// and points[points.length-1] contains the highest value

ကြီးစဉ်ငယ်လိုက် စီခြင်း-

ဥပမာ

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b - a});
// now points[0] contains the highest value
// and points[points.length-1] contains the lowest value

အမြင့်ဆုံး (သို့) အနိမ့်ဆုံးတန်ဖိုးကို သင်ရှာလိုလျှင် array တစ်ခုလုံးကို စီရန်သည် အလွန်ထိရောက်မှုမရှိသောနည်းလမ်းဖြစ်သည်။


Array တစ်ခုပေါ်တွင် Math.max() ကိုအသုံးပြုခြင်း။

Math.max.applyarray တစ်ခုတွင် အမြင့်ဆုံး နံပါတ်ကို ရှာရန် သင်သုံးနိုင်သည် -

ဥပမာ

function myArrayMax(arr) {
  return Math.max.apply(null, arr);
}

Math.max.apply(null, [1, 2, 3])နှင့် ညီမျှသည် Math.max(1, 2, 3)


Array တစ်ခုပေါ်တွင် Math.min() ကိုအသုံးပြုခြင်း။

Math.min.applyarray တစ်ခုတွင် အနိမ့်ဆုံးနံပါတ်ကို ရှာရန် သင်သုံးနိုင်သည် -

ဥပမာ

function myArrayMin(arr) {
  return Math.min.apply(null, arr);
}

Math.min.apply(null, [1, 2, 3])နှင့် ညီမျှသည် Math.min(1, 2, 3)


My Min/Max JavaScript Methods

အမြန်ဆုံးဖြေရှင်းနည်းမှာ "အိမ်လုပ်" နည်းလမ်းကို အသုံးပြုရန်ဖြစ်သည်။

ဤလုပ်ဆောင်ချက်သည် တွေ့ရှိသည့်တန်ဖိုးတစ်ခုစီနှင့် တန်ဖိုးတစ်ခုစီကို နှိုင်းယှဉ်သည့် array မှတဆင့် လှည့်ပတ်သည်-

ဥပမာ (Max ကိုရှာပါ)

function myArrayMax(arr) {
  let len = arr.length;
  let max = -Infinity;
  while (len--) {
    if (arr[len] > max) {
      max = arr[len];
    }
  }
  return max;
}

ဤလုပ်ဆောင်ချက်သည် တွေ့ရှိသော အနိမ့်ဆုံးတန်ဖိုးနှင့် တန်ဖိုးတစ်ခုစီကို နှိုင်းယှဉ်သည့် array တစ်ခုမှတဆင့် လှည့်ပတ်သည်-

ဥပမာ (Find Min)

function myArrayMin(arr) {
  let len = arr.length;
  let min = Infinity;
  while (len--) {
    if (arr[len] < min) {
      min = arr[len];
    }
  }
  return min;
}


Object Array များကို စီခြင်း

JavaScript အခင်းအကျင်းများတွင် မကြာခဏ အရာဝတ္ထုများ ပါဝင်သည်-

ဥပမာ

const cars = [
  {type:"Volvo", year:2016},
  {type:"Saab", year:2001},
  {type:"BMW", year:2010}
];

အရာဝတ္ထုများသည် မတူညီသော ဒေတာအမျိုးအစားများ၏ ဂုဏ်သတ္တိများ ရှိလျှင်ပင်၊ sort()array ကို စီရန်နည်းလမ်းကို အသုံးပြုနိုင်သည်။

ဖြေရှင်းချက်မှာ ပိုင်ဆိုင်မှုတန်ဖိုးများကို နှိုင်းယှဉ်ရန် နှိုင်းယှဥ်လုပ်ဆောင်ချက်ကို ရေးရန်ဖြစ်သည်။

ဥပမာ

cars.sort(function(a, b){return a.year - b.year});

စာကြောင်းဂုဏ်သတ္တိများကို နှိုင်းယှဉ်ခြင်းသည် အနည်းငယ်ပိုမိုရှုပ်ထွေးသည်-

ဥပမာ

cars.sort(function(a, b){
  let x = a.type.toLowerCase();
  let y = b.type.toLowerCase();
  if (x < y) {return -1;}
  if (x > y) {return 1;}
  return 0;
});

Array အကိုးအကား အပြည့်အစုံ

ပြီးပြည့်စုံသော Array အကိုးအကားအတွက်၊ ကျွန်ုပ်တို့ထံ သွားပါ။

JavaScript Array အကိုးအကားကို အပြီးသတ် ပါ။

ကိုးကားချက်တွင် Array ဂုဏ်သတ္တိများနှင့် နည်းလမ်းအားလုံး၏ ဖော်ပြချက်များနှင့် နမူနာများ ပါရှိသည်။

လေ့ကျင့်ခန်းများဖြင့် သင့်ကိုယ်သင် စမ်းသပ်ပါ။

လေ့ကျင့်ခန်း

fruitsArray ကို အက္ခရာစဉ်အလိုက် စီရန် မှန်ကန်သော Array နည်းလမ်းကို အသုံးပြုပါ ။

const fruits = ["Banana", "Orange", "Apple", "Kiwi"];
;