有没有办法计算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
解决方法
这样的东西
var str1 = 'i love javascript'; var str2 = 'i love javascripttt'; function match(str1,str2){ var tmpValue = 0; var minLength = str1.length; if(str1.length > str2.length){ var minLength = str2.length; } var maxLength = str1.length; if(str1.length < str2.length){ var maxLength = str2.length; } 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%