# Mehrdimensionales Array



## Texaner (16. November 2003)

Hi,

ich brauche in JavaScript ein mehrdimensionales Array in der Form

ArrayName(100,10,10,20,10,20)

Da ich bei JavaScript dies so leider nicht deklarieren kann, da JS ja so etwas 
nicht kennt, habe ich mir eine Schleife gebaut:


```
var arrayMarke = new Array(100);
for(i=0; i<arrayMarke.length;i++){
	arrayMarke[i] = new Array(10);
		for(k=0; k<arrayMarke[i].length;k++){
	        arrayMarke[i][k] = new Array(10);
				for(l=0; l<arrayMarke[i][k].length;l++){
					arrayMarke[i][k][l] = new Array(20);
					for(m=0; m<arrayMarke[i][k][l].length;m++){
						arrayMarke[i][k][l][m] = new Array(10);
						for(n=0; n<arrayMarke[i][k][l][m].length;n++){
							arrayMarke[i][k][l][m][n] = new Array(20);
						}
					}
				}
		}
}
```

Allerdings dauert das initalisieren des Arrays nun seeeehr lange und des 
kann sein das der Browser nicht mehr reagiert.
Erst wenn ich die Dimensionen runter setze  es.

Habe ich bei der Schleife irgendeinen Fehler?
Gibt es eine bessere Alternative?


----------



## Sven Mintel (16. November 2003)

Mmmh...
nen Fehler ist da nicht unbedingt zu sehen....das sind halt 2Millionen Durchläufe, dafür braucht Javascript schon etwas Zeit 
Kannst du etwas näher ausführen, was du mit den Arrays vorhast... vielleicht gibt es ja eine andere Möglichkeit, dein Vorhaben zu bewerkstelligen


----------



## Andreas Gaisbauer (16. November 2003)

Sind es nicht eher 40 Millionen durchläufe ?  Ich behaupte mal das so ein Array selbst in C nicht wirklich schnell via Schleife aufgebaut werden kann... Da muss es eine einfachere Lösung geben...


----------



## Sven Mintel (16. November 2003)

...Nö,sollten nur 2Mille sein,....beim letzten Array wird ja nix mehr durchlaufen ....wieauchimmer, zuviele davon


----------



## Texaner (16. November 2003)

Ich versuche mal es genauer zu erklären wofür ich es brauche...

Also ich habe eine Artikeldatenbank. Während ich die Artikel per php
aus der Datenbank hole fülle ich die einzelnen Arrays.
z.b.
Erste Dimension - Artikelname
Zweite Dimension - Artikelfarbe
Dritte Dimension - Artikelgrösse
usw....

Auf der Seite werden dann mehrere Selectboxen angezeigt, wobei die erste
mit den Artikelnamen belegt ist.
Auf onChange wird die zweite Box mit den Farben zum gewählten Artikelnamen gefüllt, dann die nächste und so weiter.

Und ? habt ihr da eine Idee?


Gruß

Tex


----------



## Sven Mintel (17. November 2003)

Ich glaub, da wären assoziative Arrays besser angebracht....
da du die Arrays ja sowieso mit Werten füttern musst, kannst die sie doch gleich fertig in die Seite schreiben, die Schleife macht da eigentlich keinen Sinn....

```
artikel=new Array();

artikel['shirt']			=new Array();
artikel['shirt']['farbe']		=new Array('rot','weiss','blau');
artikel['shirt']['groesse']		=new Array('s','m','l','xxl');

artikel['pudelmuetz']		=new Array();
artikel['pudelmuetz']['farbe']	=new Array('gelb','grau','beige');
artikel['pudelmuetz']['groesse']	=new Array(4,5,6);
```
...usw.


----------



## Texaner (17. November 2003)

moin,

so ich habe es gelöst.
Danke für eure Hilfe.



@fatalus
leider kann ich es so nicht machen.

PS:Wann schläfst du? 




Gruß Tex


----------



## Andreas Gaisbauer (17. November 2003)

> _Original geschrieben von Texaner _
> *
> @fatalus
> Wann schläfst du?
> *


Fatalus schäft wahrscheinlich gar nicht... is mir auch schon aufgefallen. Da denkt man um 4:30 Uhr man wäre alleine und hätte es hier schön gemütlich am board und wer postet dann genau 1 Minute eher in einen Thread? Genau....


----------



## Sven Mintel (17. November 2003)

Hätt ich gewusst, dass hier tagsüber solch lecker OT entsteht; wär ich früher aufgestanden


----------

