webForumDet fria alternativet

Loopa ut alla kombinationer

4 svar · 341 visningar · startad av lilja

liljaMedlem sedan juli 20041 183 inlägg
#1

Jag vill loopa ut alla kombinationer av objekt i en array så att resultatet blir såhär om jag kan välja på a, b och c:

a
b
c
aa
ab
ac
ba
bb
bc
ca
cb
cc
aaa
aab
aac
aba
abb
abc
aca
acb
acc
baa
bab
bac
.
.
.

Det behöver inte vara i den ordningen men jag vill ha alla kombinationerna. Jag ska inte räkna kombinationer utan testa saker med varje kombination. En liten brute force attack i utbildningssyfte alltså :)

var tecken = new Array("a","b","c");
var text = "";

// För varje tecken
for (x in tecken)
{
	text = tecken[x];
	alert(text);
}

Jag blir tokig snart om jag inte kommer på det... Har suttit flera timmar nu och hittar inget på pappa google heller :(

NickemannenMedlem sedan aug. 20003 575 inlägg
#2

Jag hade nog satsat på rekursioner.

liljaMedlem sedan juli 20041 183 inlägg
#3

Ja, men hur då? Känner på mig att det ska vara de också men hur?

Peter SMedlem sedan dec. 20025 483 inlägg
stattinMedlem sedan jan. 2005713 inlägg
#5

annars kan du ju bygga vidare på det här


<form name="a">
<textarea rows="37" name="b" cols="94"></textarea></p>
</form>

<script language="javascript">
var a=0
var b=0

// "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
// "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z", 

tecken=new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z", "å", "ä", "ö")

function loop(a, b){

sek="2"

if(a==tecken.length && b==tecken.length)
{ return; }

  else {

if(a=="0" && b=="0")
{ document.a.b.value=''+tecken[a]+''+tecken[b]+'","'
  b++;
  window.setTimeout("loop("+a+", "+b+")", sek); }

  else {

if(b==tecken.length)
{ a++;
  b=0;
  window.setTimeout("loop("+a+", "+b+")", sek); }

  else {

{ document.a.b.value=''+document.a.b.value+''+tecken[a]+''+tecken[b]+'","'
  b++;
  loop(a, b) } }}}

}

loop(a, b)

</script>

Ja jag vet koden ser förjävlig ut :r

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