webForumDet fria alternativet

Matcha ett ord

4 svar · 344 visningar · startad av stattin

stattinMedlem sedan jan. 2005713 inlägg
#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?

Peter SMedlem 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
nitro2k01Medlem sedan aug. 20039 342 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.

Peter SMedlem 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! :)

stattinMedlem 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

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)