kostenloser Webspace werbefrei: lima-city


2D Array erstellen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    fabo

    Kostenloser Webspace von 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!