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

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


हमें एक 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 में पहला सरणी एलिमेंट कैसे हटाएं और लौटाएं?

    पहला सरणी एलिमेंट हटाने के लिए JavaScript shift() मेथड का उपयोग करें। JavaScript सरणी shift() मेथड सरणी से पहला एलिमेंट हटाता है और उस एलिमेंट को लौटाता है। उदाहरण पहला सरणी एलिमेंट हटाने और लौटाने के लिए निम्न कोड चलाएं: <html> <head> <title>JavaScript Array shift Method<

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

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

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

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