Untitled

Run Settings
LanguageJavaScript
Language Version
Run Command
function getLetterDifference(index,letter,charArrayString) { if (charArrayString[index] === letter) { return 0; }else{ var complete = false; var checkDown = true; var checkUp = true; var differ = 0; while (1) { differ++; if (index-differ < 0) { checkDown = false; } if (index+differ > charArrayString.length-1) { checkUp = false; } if (!checkUp && !checkDown) { //Returning -1 means that the letter is not occuring in the next string. return -1 } if (checkDown) { if (charArrayString[index-differ] === letter) { return differ; } } if (checkUp) { if (charArrayString[index+differ] === letter) { return differ; } } } } } function stringSimilarity(string1,string2) { var similarity = 0; string1 = string1.toUpperCase(); string2 = string2.toUpperCase(); //Make string1 the smaller string if (string1.length > string2.length) { var backupString = string1; string1 = string2; string2 = backupString; } var charArray1 = string1.split(''); var charArray2 = string2.split(''); for (var i = 0; i < string1.length; i++) { var curChar = string1.charAt(i); var numLettersDiffering = getLetterDifference(i,curChar,charArray2); if (numLettersDiffering != -1) { similarity += (1-(numLettersDiffering/string2.length))/string2.length; } } return similarity; } console.log((stringSimilarity("lvagnozzi","vagnozzi")*100).toFixed(1) + "%");
Editor Settings
Theme
Key bindings
Full width
Lines