reduce နည်းလမ်း

reduce နည်းလမ်းသည် array တစ်ခုကို တန်ဖိုးတစ်ခုထိ ခေါက်သိမ်းပေးသည် (reduce လုပ်သည်)။ ဥပမာအားဖြင့်၊ ဤနည်းလမ်းကို အသုံးပြု၍ array ၏ element များ၏ ပေါင်းလဒ်ကို အလွယ်တကူ ရှာဖွေနိုင်သည် (ဆိုလိုသည်မှာ array သည် တစ်ခုတည်းသောတန်ဖိုး - element များ၏ ပေါင်းလဒ်ထိ ခေါက်သိမ်းသွားမည်)။

reduce နည်းလမ်းသည် ပထမဆုံးအကြိမ် အဖြစ် function တစ်ခုကို လက်ခံရရှိပြီး၊ ၎င်းသည် array ၏ ပထမ element မှစတင်၍ တစ်ခုချင်းစီအတွက် အစဉ်အတိုင်း လုပ်ဆောင်သွားမည်။ ဤ function ထဲသို့ parameter 4 ခုကို ပေးပို့နိုင်သည်။ အကယ်၍ ထို parameter များ ရှိနေပါက (၎င်းတို့မှာ မဖြစ်မနေမဟုတ်ပါ)၊ ပထမတစ်ခုသို့ အလိုအလျောက် ကြားခံရလဒ် ရောက်ရှိသွားမည်၊ ဒုတိယတစ်ခုသို့ array ၏ element ရောက်ရှိသွားမည်၊ တတိယတစ်ခုသို့ ၎င်း၏ array အတွင်း အမှတ်စဉ် (index) ရောက်ရှိသွားမည်၊ စတုတ္ထတစ်ခုသို့ array ကိုယ်တိုင် ရောက်ရှိသွားမည်။

ကြားခံရလဒ်ဆိုသည်မှာ variable တစ်ခုဖြစ်ပြီး၊ reduce နည်းလမ်းက array element အားလုံးကို လှည့်ပတ်လုပ်ဆောင်ပြီးသောအခါ ၎င်းပြန်ပေးမည့် တန်ဖိုးကို စုပုံသွားမည့် နေရာဖြစ်သည်။ ဥပမာအားဖြင့်၊ array element များ၏ ပေါင်းလဒ်ကို အစဉ်အတိုင်း ထိုနေရာတွင် စုပုံနိုင်သည်- ပထမဦးစွာ ပထမ element ကို ထည့်ပါ၊ loop ၏ နောက်တစ်ကြိမ်လှည့်ပတ်ချိန်တွင် ပထမ element နှင့် ဒုတိယ element ၏ ပေါင်းလဒ်၊ နောက်ထပ် လှည့်ပတ်ချိန်တွင် ပထမ၊ ဒုတိယနှင့် တတိယ element များ၏ ပေါင်းလဒ်။ array ကုန်ဆုံးသည်အထိ ဤသို့ပင် ဆက်လက်သွားမည်။ reduce က လက်ခံသော function သည် ကြားခံရလဒ်၏ တန်ဖိုးအသစ်ကို ပြန်ပေးသင့်သည်။

reduce နည်းလမ်း၏ ဒုတိယမြောက် parameter တွင် ကြားခံရလဒ်၏ ကနဦးတန်ဖိုးကို သတ်မှတ်ပေးသည်။ အကယ်၍ မသတ်မှတ်ပါက၊ ၎င်းသည် array ၏ ပထမ element နှင့် ညီမျှပြီး၊ element များကို လုပ်ဆောင်ခြင်းမှာ ဒုတိယ element မှစတင်မည်။

Syntax

javascriptarray.reduce(function(ကြားခံရလဒ်, element, index, array) {
  return ကြားခံရလဒ်အသစ်;
}, ကနဦးတန်ဖိုး);

ဥပမာ

Array element များ၏ ပေါင်းလဒ်ကို ရှာကြည့်ကြပါစို့-

javascriptlet arr = [1, 2, 3, 4, 5, 6];

let res = arr.reduce(function(sum, elem) {
  return sum + elem;
}, 0);

console.log(res);

Code ကို လုပ်ဆောင်ခြင်း၏ ရလဒ်-

javascript21

ဥပမာ

Array အတွင်းရှိ ဂဏန်းအပေါင်းများအားလုံး၏ ပေါင်းလဒ်ကို ရှာကြည့်ကြပါစို့-

javascriptlet arr = [1, -2, -3, 4, 5, -6];

let res = arr.reduce(function(sum, elem) {
  if (elem >= 0) {
    return sum + elem;
  } else {
    return sum;
  }
}, 0);

console.log(res);

Code ကို လုပ်ဆောင်ခြင်း၏ ရလဒ်-

javascript10

ဤအရာကိုလည်း ကြည့်ပါ

  • reduceRight နည်းလမ်း,
    ဆင်တူသော လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ပေးသည်
  • filter နည်းလမ်း,
    သည် array element များကို စစ်ထုတ်ခွင့်ပြုသည်
  • map နှင့် forEach နည်းလမ်းများ,
    သည် array ၏ element တစ်ခုချင်းစီအတွက် function တစ်ခုကို အသုံးပြုခွင့်ပြုသည်
  • some နှင့် every နည်းလမ်းများ,
    array ကို စစ်ဆေးခြင်း လုပ်ဆောင်ပေးသည်