কম্পিউটার

জাভাস্ক্রিপ্টে কেস-সংবেদনশীল সাজান


ধরুন, আমাদের কাছে এইরকম স্ট্রিং লিটারেলের একটি অ্যারে আছে −

const arr = ['1185 Design','3 D Exhibits','44Doors', '4Concepts','ABC Data','acceleration'];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এইরকম একটি অ্যারে নেয় এবং অ্যারে ইনপ্লেসকে সাজায়৷

সাজানোর ফাংশনটি এমন হওয়া উচিত যাতে বিশেষ অক্ষর, সংখ্যা দিয়ে শুরু হওয়া সমস্ত স্ট্রিং প্রথমে উপস্থিত হয়।

তারপর, সেই স্ট্রিংগুলি বর্ণানুক্রমিক ক্রমে উপস্থিত হওয়া উচিত এবং যদি আমাদের কাছে একই বর্ণমালা দিয়ে শুরু হওয়া দুটি স্ট্রিং থাকে তবে ভিন্ন ক্ষেত্রে, তাহলে ছোট হাতের বর্ণমালা দিয়ে শুরু হওয়া স্ট্রিংটি প্রথমে উপস্থিত হওয়া উচিত।

উদাহরণ

এর জন্য কোড হবে −

const arr = ['1185 Design','3 D Exhibits','44Doors', '4Concepts','ABC Data','acceleration'];
const caseSensitiveSort = (arr = []) => {
   const sorter = (a, b) => {
      if (a === b){
         return 0
      };
      if (a.charAt(0) === b.charAt(0)){
         return sorter(a.slice(1), b.slice(1))
      }
      if(a.charAt(0).toLowerCase() === b.charAt(0).toLowerCase()){
         if(/^[a-z]/.test(a.charAt(0)) && /^[A-Z]/.test(b.charAt(0))){
            return -1;
         };
         if(/^[a-z]/.test(b.charAt(0)) && /^[A-Z]/.test(a.charAt(0))){
            return 1;
         };
      };
      return a.localeCompare(b);
   };
   arr.sort(sorter);
}
caseSensitiveSort(arr);
console.log(arr);

আউটপুট

এবং কনসোলে আউটপুট হবে −

[
   '1185 Design',
   '3 D Exhibits',
   '44Doors',
   '4Concepts',
   'acceleration',
   'ABC Data'
]

  1. JavaScript Sort() পদ্ধতি

  2. জাভাস্ক্রিপ্টে Array.prototype.sort()।

  3. জাভাস্ক্রিপ্টে গণনা সাজানোর প্রয়োগ করা হচ্ছে

  4. রেডিক্স সর্ট - জাভাস্ক্রিপ্ট