Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript 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, यदि यह पहली स्ट्रिंग में आता है,
+1, यदि यह दूसरी स्ट्रिंग में आता है,

अंत में, यदि सभी कीज 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. जावास्क्रिप्ट में दो ऐरे कैसे जोड़ें? जावास्क्रिप्ट में दो ऐरे कैसे जोड़ें?

    जावास्क्रिप्ट में दो ऐरे को एक साथ जोड़ने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>    bod

  1. जावास्क्रिप्ट में दो ऐरे को कैसे गुणा करें? जावास्क्रिप्ट में दो ऐरे को कैसे गुणा करें?

    जावास्क्रिप्ट में दो ऐरे को गुणा करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Documen

  1. - दो सिंगल कैरेक्टर सरणियों की तुलना करना और अंतर लौटाना - JavaScript

    हमें दो सरणियों के बीच तुलना करनी है और अंतर प्राप्त करना है जिनमें सिंगल कैरेक्टर स्ट्रिंग्स हैं जो प्रत्येक सरणी में कई बार दिखाई देते हैं।ऐसी दो सरणियों का उदाहरण हैं -const arr1 = [A, C, A, D]; const arr2 = [F, A, T, T];हम प्रत्येक कैरेक्टर को उसी पोजीशन पर जांचेंगे और केवल उन भागों को लौटाएंगे