Loopa ut alla kombinationer

JavaScript

4 svar · 344 visningar · startad av lilja

Medlem sedan juli 20041 183 inlägg
Trådstart#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 :(

Medlem sedan aug. 20003 575 inlägg
#2

Jag hade nog satsat på rekursioner.

Medlem sedan juli 20041 183 inlägg
#3

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

Medlem sedan dec. 20025 483 inlägg
Medlem 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

260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)