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

जावास्क्रिप्ट में स्ट्रिंग्स की तुलना करें और संभावना का प्रतिशत लौटाएं

<घंटा/>

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो स्ट्रिंग्स की तुलना कर सकता है और प्रतिशत की संभावना को वापस कर सकता है कि वे कितने समान हैं। प्रतिशत कुछ और नहीं बल्कि कई वर्णों का एक माप होगा जो दो तारों में समान हैं।

यदि वे पूरी तरह से समान हैं तो आउटपुट 100 होना चाहिए, और यदि उनमें कोई सामान्य वर्ण नहीं है, तो आउटपुट 0 होना चाहिए।

उदाहरण

const calculateSimilarity = (str1 = '', str2 = '') => {
   let longer = str1;
   let shorter = str2;
   if (str1.length < str2.length) {
      longer = str2; shorter = str1;
   }
   let longerLength = longer.length;
   if (longerLength == 0) {
      return 1.0;
   }
return +((longerLength - matchDestructively(longer, shorter)) / parseFloat(longerLength) * 100).toFixed(2);
};
const matchDestructively = (str1 = '', str2 = '') => {
   str1 = str1.toLowerCase();
   str2 = str2.toLowerCase();
   let arr = new Array();
   for (let i = 0; i <= str1.length; i++) {
      let lastValue = i;
      for (let j = 0; j <= str2.length; j++) {
         if (i == 0){
            arr[j] = j;
         }else if(j > 0){
            let newValue = arr[j - 1];
            if(str1.charAt(i - 1) != str2.charAt(j - 1))
            newValue = Math.min(Math.min(newValue, lastValue), arr[j]) + 1;
            arr[j - 1] = lastValue; lastValue = newValue;
         }
      }
      if (i > 0) arr[str2.length] = lastValue;
   }
   return arr[str2.length];
};
console.log(calculateSimilarity('Mathematics','Mathamatecs'));

आउटपुट

यह निम्नलिखित आउटपुट देगा -

[
   [ 1, 10, 100 ], [ 1, 10, 200 ],
   [ 1, 10, 300 ], [ 1, 20, 100 ],
   [ 1, 20, 200 ], [ 1, 20, 300 ],
   [ 2, 10, 100 ], [ 2, 10, 200 ],
   [ 2, 10, 300 ], [ 2, 20, 100 ],
   [ 2, 20, 200 ], [ 2, 20, 300 ]
]

  1. जावास्क्रिप्ट में पहले सरणी तत्व को कैसे हटाएं और इसे वापस कैसे करें?

    पहला सरणी तत्व निकालने के लिए, JavaScript shift() . का उपयोग करें तरीका। जावास्क्रिप्ट सरणी शिफ्ट () विधि किसी सरणी से पहले तत्व को हटा देती है और उस तत्व को वापस कर देती है। उदाहरण आप पहले सरणी तत्व को हटाने और इसे वापस करने के लिए निम्न कोड को चलाने का प्रयास कर सकते हैं - <html>   &n

  1. जावास्क्रिप्ट के साथ वर्तमान लोकेल में दो स्ट्रिंग्स की तुलना कैसे करें?

    वर्तमान लोकेल में दो स्ट्रिंग्स की तुलना करने के लिए, localeCompare() विधि का उपयोग करें। स्ट्रिंग बराबर होने पर यह 0 देता है, -1 अगर स्ट्रिंग 1 को स्ट्रिंग 2 से पहले सॉर्ट किया जाता है, और 1 अगर स्ट्रिंग 1 को स्ट्रिंग 2 से पहले सॉर्ट किया जाता है। उदाहरण जावास्क्रिप्ट में वर्तमान लोकेल में दो स्ट्र

  1. जावास्क्रिप्ट में टेम्प्लेट स्ट्रिंग्स।

    टेम्पलेट को ES6 में एक स्ट्रिंग के अंदर एम्बेड अभिव्यक्ति की अनुमति देने के लिए पेश किया गया था। वे या उद्धरण चिह्नों के स्थान पर बैकटिक (``) का प्रयोग करते हैं। वे स्ट्रिंग इंटरपोलेशन का एक बेहतर तरीका प्रदान करते हैं और अभिव्यक्तियों को ${a+b} जैसे तरीके से एम्बेड किया जा सकता है। यह + ऑपरेटर की