webForumDet fria alternativet

Matcha ett ord

JavaScript

4 svar · 344 visningar · startad av stattin

Medlem sedan jan. 2005713 inlägg
Frågan#1

Kan man matcha ett två ord med varandra fast man blandar om bokstäverna?

om ordet är BLANDA

och man skriver ANDLAB

Finns det då nått script som kan se att det är samma bokstäver som i ordet BLANDA?

Medlem sedan dec. 20025 483 inlägg
#2
function isw(s1, s2)
{
  if (s1.length != s2.length) return false;
  var c = 0, a = [];
  for (var i = 0; i < s1.length; ++i) a[i] = 0;
outer:
  for (var i = 0; i < s1.length; ++i){
    for (var j = 0; j < s2.length; ++j){
      if (!a[j] && s1[i] == s2[j]){
        a[j] = 1;
        ++c;
        continue outer;
      }
    }
    return false;
  }
  return c == s1.length;
}

// isw("BLANDA", "ANDLAB"); -> true
Medlem sedan aug. 20039 340 inlägg
#3

Snyggt, Peter S. Men jag har en snyggare lösning som använder kraften i javascripts inbyggda funktioner:

function isw(s1, s2){
return s1.split("").sort().join("")==s2.split("").sort().join("");
}

Du kanske också kan vara intresserad av s k Levenshtein Distances. (Som mäter ords avstånd från varandra)
http://www.webforum.nu/showthread.php?p=1016793#post1016793
Inte något som går att använda rakt av för ditt problem, men intresant läsning ändock.

Medlem sedan dec. 20025 483 inlägg
#4

nitro2k01 skrev:

Snyggt, Peter S. Men jag har en snyggare lösning som använder kraften i javascripts inbyggda funktioner:

function isw(s1, s2){
return s1.split("").sort().join("")==s2.split("").sort().join("");
}

Du kanske också kan vara intresserad av s k Levenshtein Distances. (Som mäter ords avstånd från varandra)
http://www.webforum.nu/showthread.php?p=1016793#post1016793
Inte något som går att använda rakt av för ditt problem, men intresant läsning ändock.

Ja, det var helt klart snyggare! :)

Medlem sedan jan. 2005713 inlägg
#5

Då skulle ni se min lösning, den funkar men ser förjävlig ut och jag vill inte visa den.

Men tack så mycket båda två detta underlätter.

Mvh jon

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)