Orlok: Dynamische Array-Namen

Beitrag lesen

Hallo

var myArray = [];
myArray['A'] = new Array("a", "b", "c");
myArray['B'] = new Array("d", "e", "f");

Ich hab diese Hilfe genommen und es klappt wunderbar.

Ich habe zwar nicht verstanden was du eigentlich vorhast, aber wie Mitleser bereits angemerkt hat, ist Gunnars Vorschlag alles andere als ideal, denn erstens sollte die Literalschreibweise verwendet werden und zweitens kein Array sondern ein Object, wenn es sich bei den Eigenschaftsnamen – wie in deinem Fall – nicht um positive Ganzzahlen handelt.

Zwar ist ein Array in JavaScript auch ein Object, weshalb beliebig Eigenschaften zugewiesen oder definiert werden können, aber weder kannst du auf diese Eigenschaften die von Array.prototype geerbten Methoden anwenden, noch werden diese Eigenschaften bei der Berechnung des Wertes der Länge (length) des Arrays berücksichtigt.

Das bedeutet, du würdest hier kein assoziatives Array bekommen, sondern letztlich dein Array nur wie ein Object verwenden, weshalb ein solches für die Hinterlegung deiner Daten die richtige Wahl wäre:

var object = {
  'A' : ['a', 'b', 'c'],
  'B' : ['d', 'e', 'f']
};

Gruß,

Orlok