JavaScript toSorted()

JavaScript toSorted(): সম্পূর্ণ বাংলা টিউটোরিয়াল

toSorted() হল JavaScript-এর একটি নতুন অ্যারে মেথড যেটি original অ্যারে পরিবর্তন না করে একটি sorted কপি প্রদান করে। এটি ES2023-এ পরিচিত হয় এবং এটি sort() মেথডের ইমিউটেবল সংস্করণ।

সিনট্যাক্স:

array.toSorted([compareFunction])
  • compareFunction (ঐচ্ছিক): একটি ফাংশন যা দুটি উপাদান তুলনা করে
  • পুরানো অ্যারেটি অপরিবর্তিত থাকে
  • নতুন একটি sorted অ্যারে রিটার্ন করে

পার্থক্য: sort() বনাম toSorted()

মেথড original array পরিবর্তন? নতুন array ফেরত?
sort() হ্যাঁ না
toSorted() না হ্যাঁ

উদাহরণ ১: সংখ্যাগুলি sort করা


<script>
const numbers = [20, 5, 100, 15];
const sorted = numbers.toSorted((a, b) => a - b);

console.log(sorted); // [5, 15, 20, 100]
console.log(numbers); // [20, 5, 100, 15] (অপরিবর্তিত)
</script>
    

এখানে মূল অ্যারে numbers অপরিবর্তিত থাকছে, এবং toSorted() একটি নতুন sorted অ্যারে দিচ্ছে।

উদাহরণ ২: স্ট্রিং sort করা


<script>
const names = ['Kabir', 'Rafiq', 'Anika', 'Sumon'];
const sortedNames = names.toSorted();

console.log(sortedNames); // ['Anika', 'Kabir', 'Rafiq', 'Sumon']
</script>
    

ডিফল্টভাবে স্ট্রিং অ্যারে alphabetically sort হয়।

উদাহরণ ৩: অবজেক্ট sort


<script>
const users = [
  { name: 'Arefin', age: 30 },
  { name: 'Mitu', age: 25 },
  { name: 'Jamal', age: 35 }
];

const sortedUsers = users.toSorted((a, b) => a.age - b.age);
console.log(sortedUsers);
</script>
    

এখানে অবজেক্ট গুলো বয়স অনুযায়ী ascending ক্রমে সাজানো হয়েছে।

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

  • ইমিউটেবল কোড লেখার জন্য উপযোগী
  • Functional Programming-এ ব্যবহার সহজ
  • ডাটা ম্যানিপুলেশনে ভুল কমে

❗ ব্রাউজার সাপোর্ট

toSorted() শুধুমাত্র আধুনিক ব্রাউজার যেমন Chrome v110+, Firefox v115+, Edge v110+ ইত্যাদিতে কাজ করে।

পুরাতন ব্রাউজারে বিকল্প?


const sorted = [...array].sort(compareFunction);
    

[...array] দিয়ে কপি তৈরি করে sort() ব্যবহার করলে একই রেজাল্ট পাওয়া যাবে।

উপসংহার

toSorted() আধুনিক JavaScript ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ ফিচার। এটি মূল অ্যারে অপরিবর্তিত রেখে নতুন অ্যারে রিটার্ন করে, ফলে ডেটা নিরাপদ থাকে এবং কোড আরও রিডেবল ও রিলায়েবল হয়।

 

Leave a Reply