কম্পিউটার

কিভাবে দুটি স্ট্রিং অ্যারে তুলনা করবেন, কেস সংবেদনশীল এবং জাভাস্ক্রিপ্ট অর্ডার করার বিষয়ে স্বাধীন, ES6


আমাদের একটি ফাংশন লিখতে হবে, বলুন isEqual() যা যুক্তি হিসাবে দুটি স্ট্রিং নেয় এবং উভয়ই তাদের ক্রম এবং ক্ষেত্রে স্বাধীনভাবে একই অক্ষর ধারণ করে কিনা তা পরীক্ষা করে।

যেমন −

const first = 'Aavsg';
const second = 'VSAAg';
isEqual(first, second); //true

পদ্ধতি:1 অ্যারে ব্যবহার করে

এই পদ্ধতিতে আমরা স্ট্রিংগুলিকে অ্যারেতে রূপান্তর করি, Array.prototype.sort() পদ্ধতি ব্যবহার করি, সেগুলিকে আবার স্ট্রিংয়ে রূপান্তর করি এবং সমতা পরীক্ষা করি৷

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

উদাহরণ

const first = 'Aavsg';
const second = 'VSAAg';
const stringSort = function(){
   return this.split("").sort().join("");
}
String.prototype.sort = stringSort;
const isEqual = (first, second) => first.toLowerCase().sort() ===
second.toLowerCase().sort();
console.log(isEqual(first, second));

পদ্ধতি 2:একটি মানচিত্র ব্যবহার করা

এই পদ্ধতিতে আমরা একই সময়ে উভয় স্ট্রিংকে পুনরাবৃত্তি করি, অক্ষর ফ্রিকোয়েন্সিগুলিকে এমএপি-তে এইরকম মান সহ সংরক্ষণ করি -

-1, if it appears in the first string,
+1, if it appears in the second string,

শেষ পর্যন্ত, যদি সমস্ত কী 0 যোগ করে, আমরা উপসংহারে পৌঁছেছি যে স্ট্রিংগুলি একই রকম অন্যথায় নয়৷

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

উদাহরণ

const first = 'Aavsg';
const second = 'VSAAg';
const isEqual = (first, second) => {
   if(first.length !== second.length){
      return false;
   }
   first = first.toLowerCase();
   second = second.toLowerCase();
   const map = {};
   for(ind in first){
      if(map[first[ind]]){
         map[first[ind]]++;
      }else{
         map[first[ind]] = 1;
      }
      if(map[second[ind]]){
         map[second[ind]]--;
      }else{
         map[second[ind]] = -1;
      }
   };
   return Object.values(map).reduce((acc, val) => val === 0 && acc, true);
};
console.log(isEqual(first, second));

আউটপুট

উভয়ের জন্য কনসোলে আউটপুট হবে −

true

  1. কিভাবে জাভাস্ক্রিপ্ট দুটি অ্যারে যোগদান করতে?

  2. জাভাস্ক্রিপ্টে দুটি অ্যারেকে কীভাবে গুণ করা যায়?

  3. জাভাস্ক্রিপ্টে স্ট্রিংগুলির ক্ষেত্রে সংবেদনশীল স্ট্রিং তুলনা কীভাবে করবেন

  4. একক অক্ষর দুটি অ্যারে তুলনা এবং পার্থক্য ফেরত? জাভাস্ক্রিপ্ট