kostenloser Webspace werbefrei: lima-city


2D Array erstellen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    fabo

    fabo hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. h**s

    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.
  4. 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....
  5. @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).
  6. anti-atomkraft

    Kostenloser Webspace von anti-atomkraft

    anti-atomkraft hat kostenlosen Webspace.

    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...
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!