JavaScript toReversed(): একটি আধুনিক ও ইমিউটেবল মেথড
toReversed() হল JavaScript-এর একটি নতুন immutable অ্যারে মেথড যা মূল অ্যারে পরিবর্তন না করে তার উল্টো ক্রমে একটি নতুন অ্যারে প্রদান করে। এটি ES2023 স্ট্যান্ডার্ডে যুক্ত হয়েছে।
সিনট্যাক্স:
array.toReversed()এটি কোন প্যারামিটার গ্রহণ করে না এবং একটি নতুন অ্যারে রিটার্ন করে, যার উপাদানগুলি মূল অ্যারের উল্টো ক্রমে থাকে।
পার্থক্য: reverse() বনাম toReversed()
| মেথড | original array পরিবর্তন? | নতুন array রিটার্ন? |
|---|---|---|
| reverse() | হ্যাঁ | না |
| toReversed() | না | হ্যাঁ |
উদাহরণ ১: সাধারণ অ্যারে রিভার্স
<script>
const nums = [1, 2, 3, 4, 5];
const reversed = nums.toReversed();
console.log(reversed); // [5, 4, 3, 2, 1]
console.log(nums); // [1, 2, 3, 4, 5] (অপরিবর্তিত)
</script>
এই উদাহরণে, মূল অ্যারে nums অপরিবর্তিত থাকছে, এবং toReversed() তার উল্টো কপি ফিরিয়ে দিচ্ছে।
উদাহরণ ২: স্ট্রিং অ্যারে
<script>
const fruits = ["Apple", "Banana", "Cherry"];
const reversedFruits = fruits.toReversed();
console.log(reversedFruits); // ['Cherry', 'Banana', 'Apple']
</script>
এখানে স্ট্রিং এর অ্যারে কপি হয়ে উল্টোভাবে সাজানো হয়েছে।
উদাহরণ ৩: অবজেক্ট অ্যারে রিভার্স
<script>
const users = [
{ name: 'Anika' },
{ name: 'Ratul' },
{ name: 'Sabbir' }
];
const reversedUsers = users.toReversed();
console.log(reversedUsers.map(u => u.name)); // ['Sabbir', 'Ratul', 'Anika']
</script>
এখানে অবজেক্টের একটি অ্যারে রিভার্স করা হয়েছে এবং মূল অ্যারেটি একই রয়েছে।
❗ ব্রাউজার সাপোর্ট
toReversed() বর্তমানে শুধুমাত্র আধুনিক ব্রাউজার যেমন Chrome v110+, Firefox v115+, Edge v110+ এ সাপোর্ট করে।
পুরানো ব্রাউজারে বিকল্প
const reversed = [...array].reverse();
এভাবে স্প্রেড অপারেটর দিয়ে অ্যারের কপি তৈরি করে reverse() ব্যবহার করে সমান রেজাল্ট পাওয়া যায়।
উপসংহার
toReversed() হলো reverse() এর একটি নিরাপদ বিকল্প যা মূল অ্যারে পরিবর্তন না করেই তার উল্টো কপি দেয়। যারা functional programming বা ইমিউটেবল ডেটা ম্যানিপুলেশন অনুসরণ করেন, তাদের জন্য এটি একটি অত্যন্ত দরকারি ফিচার।