10

के बीच% मिलान की गणना करने का कोई तरीका है क्या 2 तारों के बीच% मिलान की गणना करने का कोई तरीका है?2 स्ट्रिंग्स

मैं एक स्थिति है जहाँ यह 2 तार के बीच मैचों की गणना करने के वहाँ है अगर 85%

मैच तो मैं 2 टेबल जोड़ेगा, मैं 2 टेबल

संयोजन मेरी नमूने के लिए कोड लिखा है आवश्यक है तार हैं:

var str1 = 'i love javascript'; 
var str2 = 'i love javascripttt'; 

var matchPer = match(str1,str2); // result might be 80% , 85%, 90% ,95% etc 
+3

प्रतिशत की गणना के लिए अपने तर्क क्या है? –

+5

केवल * ए * रास्ता नहीं है, * बहुत सारे तरीके हैं। क्या आपके पास कोई चुनने के लिए कोई दिशानिर्देश है? वास्तव में आपके लिए "85% मैच" क्या है? – hobbs

+8

'1 - लेवेनशेटिन (str1, str2)/max (str1.length, str2.length) 'मुझे उचित मीट्रिक की तरह लगता है, लेकिन आप डैमरौ-लेवेनशेटिन (जो" बेकन "और" बाकन "के बीच का अंतर मानते हैं) 2 के बजाय 1 होने के लिए), या अला एडीन जेबली के उत्तर में हैमिंग दूरी, जो जोड़ों और हटाने ("केला" और "अनाना" के अपमानजनक है, में 1 की लेवेनशेटिन दूरी है लेकिन 6 की हैमिंग दूरी है। क्या वे 14% समान या 86% समान?) – hobbs

उत्तर

10

ऐसा कुछ?

var str1 = 'i love javascript'; 
 
var str2 = 'i love javascripttt'; 
 

 
function match(str1, str2){ 
 
    var tmpValue = 0; 
 
    var minLength = str1.length; 
 
\t if(str1.length > str2.length){ 
 
\t \t var minLength = str2.length; 
 
\t } \t 
 
    var maxLength = str1.length; 
 
\t if(str1.length < str2.length){ 
 
\t \t var maxLength = str2.length; 
 
\t } 
 
    for(var i = 0; i < minLength; i++) { 
 
     if(str1[i] == str2[i]) { 
 
      tmpValue++; 
 
     } 
 
    } 
 
    var weight = tmpValue/maxLength; 
 
    return (weight * 100) + "%"; 
 
} 
 

 
var matchPer = match(str1,str2); 
 
console.log(matchPer); //outputs: 89.47% 
 
console.log(match("aaaaa", "aaaaa")); //outputs: 100% 
 
console.log(match("aaaaa", "aXaaa")); //outputs: 80% 
 
console.log(match("aaaaa", "aXXaa")); //outputs: 60% 
 
console.log(match("aaaaa", "aXXXa")); //outputs: 40% 
 
console.log(match("aaaaa", "aXXXX")); //outputs: 20%

+13

कृपया यह बताएं कि यह क्या है; डंप कोड juist मत करो। –

+3

यह https://en.wikipedia.org/wiki/Simple_matching_coefficient है – JollyJoker

संबंधित मुद्दे