JavaScript এর reduceRight() মেথড

 

JavaScript এর reduceRight() মেথড – ডিটেইল গাইড

reduceRight() হচ্ছে JavaScript এর একটি শক্তিশালী Array মেথড, যা অ্যারেকে ডান দিক থেকে (right to left) রিডিউস করে একটি একক মানে পরিণত করে। এটি অনেকটা reduce() এর মতো, তবে দিকটি উল্টো। এই মেথডটি তখনই উপকারী যখন ডান দিক থেকে প্রক্রিয়া করার প্রয়োজন হয়, যেমন: গণনা, স্ট্রিং কনক্যাট, বা লগিক্যাল অপারেশন।

reduceRight() এর সিনট্যাক্স

Syntax:
array.reduceRight(callback(accumulator, currentValue, index, array), initialValue)

কিভাবে কাজ করে?

  • প্রতিটি উপাদানকে ডান দিক (শেষ দিক) থেকে শুরু করে প্রসেস করে
  • একটি accumulator এবং currentValue ব্যবহার করে গণনা চালিয়ে যায়
  • initialValue দিলে সেটি শুরুতে নেয়, না দিলে শেষ উপাদানটি নেয়

উদাহরণ ১: সংখ্যা যোগ করা

একটি সাধারণ অ্যারে থেকে reduceRight() ব্যবহার করে যোগফল বের করি:

<script>
const nums = [1, 2, 3, 4];
const sum = nums.reduceRight((acc, curr) => acc + curr);
console.log(sum); // Output: 10
</script>

উদাহরণ ২: স্ট্রিং কনক্যাটিনেশন

ধরি, আমরা একটি স্ট্রিং অ্যারেকে উল্টো করে জোড়া দিতে চাই:

<script>
const words = [“one”, “two”, “three”];
const result = words.reduceRight((acc, curr) => acc + ” ” + curr);
console.log(result); // Output: “three two one”
</script>

উদাহরণ ৩: initialValue সহ

initialValue ব্যবহার করলে রিডিউসের প্রক্রিয়া আরও নির্ভরযোগ্য হয়:

<script>
const nums = [10, 20, 30];
const total = nums.reduceRight((acc, curr) => acc – curr, 100);
console.log(total); // Output: 100 – 30 – 20 – 10 = 40
</script>

reduce() বনাম reduceRight()

reduce() reduceRight()
বাম থেকে ডানে প্রসেস করে ডান থেকে বামে প্রসেস করে
default accumulation behavior reverse order processing

কখন reduceRight() ব্যবহার করবেন?

  • যখন আপনার প্রসেসটি শেষ এলিমেন্ট থেকে শুরু হওয়া উচিত
  • উল্টো অর্ডারে অপারেশন করতে চান
  • স্ট্রিং কনক্যাট বা বাইনারি অপারেশনে উল্টো দিক গুরুত্বপূর্ণ

⚠️ সতর্কতা

  • initialValue না দিলে শেষ উপাদানটিকে accumulator হিসেবে ধরে
  • empty array হলে এবং initialValue না থাকলে TypeError দিবে
  • মূল অ্যারে পরিবর্তন করে না, বরং নতুন মান রিটার্ন করে

উপসংহার

reduceRight() একটি দুর্দান্ত মেথড যেটি প্রায়ই উপেক্ষিত হয়, কিন্তু কিছু নির্দিষ্ট ক্ষেত্রে এটি অপরিহার্য। ডেটা উল্টো অর্ডারে প্রসেস করতে হলে এটি ব্যবহার করে আপনি আপনার কোডকে আরও শক্তিশালী ও নিখুঁত করে তুলতে পারেন।


 

Leave a Reply