আজ JavaScript এর reduce() মেথড নিয়ে আলোচনা করব। JavaScript এর reduce() মেথড বোঝার পূর্বে নিচের একটি ছোট উদাহারন দেখতে হবে।
মনে করি আমাদের কাছে একটি নাম্বারের অ্যারে আছে। এখন চাচ্ছি ওই অ্যারে তে যতগুলো ডাটা আছে সবগুলো ডাটার যোগফল কত হয় তা জানব। এই যোগফল জানার জন্য কয়েকটি ভাবেই আমাদের JavaScript কোড লিখতে পারি।
নিচের কোডে for লুপ ব্যবহার করে আমাদের নাম্বার অ্যারে যোগফল নির্ণয় করলাম।
const numebrs = [1,2,3,4,5]
let sum = 0
for( let n of numebrs){
sum += n
}
console.log(sum) // output: 15
এখন এই একই কাজ reduce() মেথড দ্বারা করার চেষ্টা করবঃ
const sum = numebrs.reduce( function(accumulator, currentValue){
return accumulator + currentValue
} , 0
)
console.log(sum) // output: 15
মনে রাখতে হবে সকল array ক্ষেত্রে reduce() মেথড আছে। আর এই reduce() মেথড অ্যারের সকল ডাটা কে single ডাটাতে পরিনত করতে পারে। মনে রাখতে হবে reduce() মেথডটি অ্যারে ডাটা গুলোকে নিয়ে একটা লুপ তৈরি করবে।
reduce() মেথড এর Syntax হচ্ছেঃ
array.reduce( callback(variable,value){
// function body
}, assignment
);
এখানে callback method ২টি আর্গুমেন্ট নিয়ে কাজ করবে। ১ম আর্গুমেন্টের মধ্যে নাম্বার গুলো যোগ করে করে store হবে। আর ২য় আর্গুমেন্ট হবে অ্যারের প্রতিটি বর্তমান নাম্বার।
এখানে assignment হচ্ছে optional আর্গুমেন্ট। এর মধ্যে যে value পাস করা হবে ওই value টা প্রথমে callback এর ১ম আর্গুমেন্টে গিয়ে assign হবে।
এখন দেখব reduce() Method কে কিভাবে arrow function এর মাধ্যমে লেখা যায়ঃ
// with array function
const sum = numebrs.reduce(
(accumulator, currentValue) => accumulator + currentValue
)
console.log( sum ); //output: 15