JSFiddle - React, Tailwind, and code Playground
by etiennenoel
JavaScript
function CommandManager() {
var self = this;
self.commands = new Array();
self.commandsFound = new Array();
self.ignoreDifferenceRatioBelow = 0.5;
self.init = function() {
self.commands.push(new LoadCommand());
}
self.getCommandFromCommandKeyword = function(commandKeyword) {
for(var indexCommands = 0; indexCommands < self.commands.length; indexCommands++) {
var command = self.commands[indexCommands];
if(command.keyword == commandKeyword) {
return command;
}
}
return null;
}
self.getEditDistance = function getEditDistance(string1, string2) {
var m = string1.length;
var n = string2.length;
var d = 0;
var c = new Array();
for(var k = 0; k <= m; k++)
c[k] = [0];
for(var l = 1; l <= n; l++)
c[0][l] = 0;
for(var i = 1; i <= m; i++) {
for(var j = 1; j <= n; j++) {
if(string1.charAt(i-1) == string2.charAt(j-1))
d = 0;
else
d = 1;
c[i][j] = Math.min(c[i-1][j-1]+d,Math.min(c[i-1][j] + 1,c[i][j-1] + 1));
}
}
return c[m][n];
}
self.getNumberOfCharacterSimilarFromBeginning = function(string1, string2) {
var shortestString = string1,
longestString = string2;
if(string1.length > string2.length) {
shortestString = string2;
longestString = string1;
}
var numberOfCharacterSimilarFromBeginning = 0;
for(var i = 0; i < shortestString.length; i++) {
if(shortestString[i] == longestString[i]) {
numberOfCharacterSimilarFromBeginning++;
}
}
return numberOfCharacterSimilarFromBeginning;
}
self.getPreciseness = function(string1, string2) {
//We first look to see if the string are equals
if(string1 == string2) {
return 1;
}
//If they don't have the same length or the editing distance is bigger than 2, we want to see if they share a pattern at the beginning
if(string1.length < string2.length) {
var...