2D Array erstellen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anzahl
array
art
behandeln
browser
code
erstellen
fahrschule
funktion
http
objekt
problem
referenz
schwachsinn
spalten
standart
test
unterschied
url
zeile
-
Moin,
ich arbeite zzt. an einem Script und frage mich, was die eleganteste Möglichkeit ist, ein 2D-Array mit JS zu erstellen.
So wäre es wohl am einfachsten:
var arr = new Array(5) arr[0] = new Array(2) arr[0][0] = "Test1" arr[0][1] = "a" arr[1] = new Array(2) arr[1][0] = "Test2" arr[1][1] = "b" arr[2] = new Array(2) arr[2][0] = "Test3" arr[2][1] = "c" arr[3] = new Array(2) arr[3][0] = "Test4" arr[3][1] = "d" arr[4] = new Array(2) arr[4][0] = "Test5" arr[4][1] = "e"
Aber geht das nicht irgendwie schöner oder gar noch einfacher?!
Ich habe es auch schon so versucht (was wirklich gut aussieht, aber nicht so funktioniert, wie ich das will):
var arr = { 'Test1':'a', 'Test2':'b', 'Test3':'c', 'Test4':'d', 'Test5':'e' };
Problem ist ganz einfach, dass ich zufällig ein Item aus dem Array auswählen muss und sowohl den Key, als auch den Wert benötige.
EDIT:
Okay... Ich denke, dass hier ist die beste Lösung:
var arr = new Array( new Array('Test1', 'a'), new Array('Test2', 'b'), new Array('Test3', 'c'), new Array('Test4', 'd'), new Array('Test5', 'e') );
Beitrag zuletzt geändert: 2.8.2011 7:02:02 von fabo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
soweit ich weiß gibt es in javascript gar keine multidimensionalen arrays - zumindest nicht so direkt wie man es zb aus php kennt.
natürlich kann man mehrere arrays erstellen und diese in einem objekt zusammenfassen - aber bedenke dabei das du dieses nicht mit den standart-array funktionen wie zb foreach behandeln kannst. -
fabo schrieb:
Problem ist ganz einfach, dass ich zufällig ein Item aus dem Array auswählen muss und sowohl den Key, als auch den Wert benötige.
EDIT:
Okay... Ich denke, dass hier ist die beste Lösung:
var arr = new Array( new Array('Test1', 'a'), new Array('Test2', 'b'), new Array('Test3', 'c'), new Array('Test4', 'd'), new Array('Test5', 'e') );
var arr =[['Test1', 'a'],['Test2', 'b'],['Test3', 'c'],['Test4', 'd'],['Test5', 'e'],['Test6', 'f']];
Bei mir hat sich noch nie ein Browser beschwert das ich nicht "new Array" benutze.
As Referenz kannst Du Dir mal auch den js-Code dieser Seite angucken.
Direkter Link zur js-Datei:
http://www.paulis-fahrschule.de/de/tmc.js
hcms schrieb:
soweit ich weiß gibt es in javascript gar keine multidimensionalen arrays - zumindest nicht so direkt wie man es zb aus php kennt.
natürlich kann man mehrere arrays erstellen und diese in einem objekt zusammenfassen - aber bedenke dabei das du dieses nicht mit den standart-array funktionen wie zb foreach behandeln kannst.
Schwachsinn, natürlich gibt es mehrdimensionale arrays.
foreach als standart zu bezeichnen.... -
@Hcms:
1. Das geht sehr wohl in JS.
2. foreach gibt es in JS überhaupt nicht.
3. Der Unterschied zwischen PHP-Arrays und JS-Arrays ist, dass PHP-Arrays assoziativ sein können (sie sind grundsätzlich zwar immer assoziativ, aber man bezeichnet rein nummerische Arrays idr. nicht als assoziative Arrays). -
Gibt noch 'ne einfache Möglichkeit, die ich dafür immer verwende:
var arr, zeilen, spalten, zaehler; arr = new Array(); zeilen = 10; for(zaehler=0; zaehler<zeilen; zaehler++) { arr[zaehler]=new Array(); } arr[0][0]="Test"; arr[0][1]="Test2"; arr[1][0]="Test"; // ...
Es muss auf die Art lediglich die Anzahl der "gesplitteten" Array-Einträge definiert werden und dann kann man es einfach so eingeben, wie man es aus PHP kennt... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage