Arraydaten
Aktualisiert: November 2007
Ein Arrayliteral kann ein Array in JScript initialisieren. Ein Arrayliteral, das ein Array-JScript-Objekt ist, wird durch eine Liste mit Kommas als Trennzeichen dargestellt, die von eckigen Klammern umgeben ist. Jedes Element der Liste kann entweder ein gültiger JScript-Ausdruck oder leer sein (zwei aufeinander folgende Kommas). Die Indexnummer des ersten Elements in der Array-Literalliste ist null. Jedes nachfolgende Element in der Liste entspricht einem nachfolgendem Element in dem Array. Ein JScript-Array ist dünn besetzt. Wenn ein Element der Array-Literalliste leer ist, wird das zugehörige Element im JScript-Array nicht initialisiert.
Verwenden von Arraydaten
In diesem Beispiel wird die arr-Variable als Array mit drei Elementen initialisiert.
var arr = [1,2,3];
Sie können leere Elemente in der Array-Literalliste verwenden, um ein dünn besetztes Array zu erstellen. Beispielsweise stellt das folgende Arrayliteral ein Array dar, das nur die Elemente 0 und 4 definiert.
var arr = [1,,,,5];
Ein Arrayliteral kann Daten eines beliebigen Typs enthalten, einschließlich andere Arrays. Im folgenden Array aus Arrays enthält das zweite Unterarray sowohl Zeichenfolgen- als auch numerische Daten.
var cats = [ ["Names", "Beansprout", "Pumpkin", "Max"], ["Ages", 6, 5, 4] ];
Da Array-Objekte in JScript mit typisierten Arrays interagieren, können Arrayliterale – mit wenigen Einschränkungen – auch typisierte Arrays initialisieren. Die Daten in dem Arrayliteral müssen in den Datentyp des typisierten Arrays konvertiert werden können. Ein Arrayliteral kann kein mehrdimensionales typisiertes Array initialisieren, es kann jedoch ein typisiertes Array aus typisierten Arrays initialisieren. Ein zwei Schritte umfassender Prozess wird durchgeführt, wenn ein Arrayliteral ein typisiertes Array initialisiert. Zuerst wird das Arrayliteral in ein typisiertes Array konvertiert, mit dem das typisierte Array initialisiert wird. Im Rahmen der Konvertierung wird jedes leere Element des Arrayliterals zuerst als undefined interpretiert, dann wird jedes Element des Literals in den entsprechenden Datentyp für das typisierte Array konvertiert. Im folgenden Beispiel wird mit ein und demselben Arrayliteral ein JScript-Array, ein integer-Array und ein double-Array initialisiert.
var arr = [1,,3];
var arrI : int[] = [1,,3];
var arrD : double[] = [1,,3];
print(arr); // Displays 1,,3.
print(arrI); // Displays 1,0,3.
print(arrD); // Displays 1,NaN,3.
Das leere Element des Arrayliterals wird im integer-Array als 0 dargestellt, im double-Array als NaN, da undefined diesen Werten zugeordnet wird.