মেথড reduce
মেথড reduce অ্যারেকে একটি মানে ভাঁজ করে দেয় (রিডিউস করে)। উদাহরণস্বরূপ,
এই মেথড ব্যবহার করে সহজেই অ্যারের উপাদানগুলির যোগফল খুঁজে পাওয়া যায়
(অর্থাৎ অ্যারেটি একটি মানে পরিণত হবে - উপাদানগুলির যোগফলে)।
মেথড reduce প্রথম প্যারামিটার হিসাবে একটি ফাংশন পায়,
যা অ্যারের প্রতিটি উপাদানের জন্য প্রথম থেকে শুরু করে অনুক্রমিকভাবে কার্যকর হবে।
এই ফাংশনে 4টি প্যারামিটার পাঠানো যেতে পারে।
যদি এই প্যারামিটারগুলি থাকে (এগুলি বাধ্যতামূলক নয়),
তাহলে প্রথমটিতে স্বয়ংক্রিয়ভাবে মধ্যবর্তী ফলাফল চলে আসবে, দ্বিতীয়টিতে অ্যারের উপাদানটি
চলে আসবে, তৃতীয়টিতে - অ্যারেতে তার নম্বর (ইন্ডেক্স),
এবং চতুর্থটিতে - অ্যারেটি নিজেই।
মধ্যবর্তী ফলাফল হল একটি ভেরিয়েবল,
যেখানে সেই মানটি জমা হবে,
যা মেথড reduce ফেরত দেবে যখন
এটি অ্যারের সমস্ত উপাদান ঘুরে দেখবে। উদাহরণস্বরূপ,
সেখানে অনুক্রমিকভাবে অ্যারের উপাদানগুলির যোগফল জমা করা যেতে পারে:
প্রথমে প্রথম উপাদানটি রাখা, পরবর্তী লুপ পাসে ইতিমধ্যে
প্রথম উপাদান এবং দ্বিতীয়টির যোগফল, পরবর্তী পাসে -
প্রথম, দ্বিতীয় এবং তৃতীয়টির যোগফল।
এবং এমনি করে, যতক্ষণ না অ্যারেটি শেষ হয়।
reduce যে ফাংশনটি গ্রহণ করে,
সেটির নতুন মধ্যবর্তী ফলাফলের মান ফেরত দিতে হবে।
মেথড reduce এর দ্বিতীয় প্যারামিটার হিসাবে
মধ্যবর্তী ফলাফলের প্রারম্ভিক মান নির্দেশিত হয়।
যদি এটি নির্দিষ্ট করা না হয়, তবে এটি প্রথম
অ্যারের উপাদানের সমান হবে, এবং উপাদানগুলির প্রক্রিয়াকরণ
দ্বিতীয় উপাদান থেকে শুরু হবে।
সিনট্যাক্স
অ্যারের.reduce(function(মধ্যবর্তী ফলাফল, উপাদান, ইন্ডেক্স, অ্যারে) {
return নতুন মধ্যবর্তী ফলাফল;
}, প্রারম্ভিক মান);
উদাহরণ
অ্যারের উপাদানগুলির যোগফল বের করা যাক:
let arr = [1, 2, 3, 4, 5, 6];
let res = arr.reduce(function(sum, elem) {
return sum + elem;
}, 0);
console.log(res);
কোড 실행ের ফলাফল:
21
উদাহরণ
আসুন অ্যারের সমস্ত ধনাত্মক সংখ্যার যোগফল বের করি:
let 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);
কোড 실행ের ফলাফল:
10