Freigeben über


JScript-Array-Objekt

Aktualisiert: November 2007

Ein Array-Objekt ist eine Variable, die zusammengehörige Daten gruppiert. Eine eindeutige Zahl, die als Index oder Subskript bezeichnet wird, verweist auf jedes Datenelement in dem Array. Um auf die Daten in dem Array zuzugreifen, werden der Arraybezeichner und der Index mit dem Indexoperator "[]" kombiniert, z. B. wie folgt: theMonths[0].

Erstellen eines Arrays

Um ein neues Array zu erstellen, verwenden Sie den new-Operator und den Array-Konstruktor. In diesem Beispiel wird der Arraykonstruktor verwendet, um ein Array mit der Länge 12 zu konstruieren. Anschließend werden Daten in das Array eingegeben.

var theMonths = new Array(12);
theMonths[0] = "Jan";
theMonths[1] = "Feb";
theMonths[2] = "Mar";
theMonths[3] = "Apr";
theMonths[4] = "May";
theMonths[5] = "Jun";
theMonths[6] = "Jul";
theMonths[7] = "Aug";
theMonths[8] = "Sep";
theMonths[9] = "Oct";
theMonths[10] = "Nov";
theMonths[11] = "Dec";

Wenn Sie unter Verwendung des Schlüsselworts Array ein Array erstellen, nimmt JScript eine length-Eigenschaft in das Array auf, die die Anzahl der Einträge aufzeichnet. Wenn Sie keine Zahl angeben, wird die Länge auf 0 gesetzt, und das Array enthält keine Einträge. Wenn Sie eine Zahl angeben, wird die length-Eigenschaft auf diesen Wert festgelegt. Wenn Sie mehr als einen Parameter angeben, werden diese Parameter als Einträge im Array verwendet. Der length-Eigenschaft wird zusätzlich die Anzahl der Parameter zugewiesen. Betrachten Sie dazu das folgende Beispiel, das äquivalent zum vorherigen Beispiel ist.

var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", 
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

Arrayliterale bieten eine weitere Technik zum Eingeben von Daten in ein Array. Weitere Informationen finden Sie unter Arraydaten.

Das Array-Objekt speichert dünn besetzte Arrays. Dies bedeutet Folgendes: Wenn ein Array drei Elemente aufweist, die mit 0, 1 und 2 nummeriert sind, kann Element 50 vorhanden sein, ohne dass die Elemente 3 bis 49 vorhanden sind. JScript ändert den Wert der length-Eigenschaft automatisch, wenn Sie einem Array-Objekt Elemente hinzufügen. Arrayindizes beginnen in JScript immer bei 0 und nicht bei 1. Daher ist der Wert der length-Eigenschaft stets um eins größer als der höchste Index im Array.

Verwenden der Expando-Eigenschaften von Arrays

Wie alle anderen Objekte, die auf dem Object-JScript-Objekt basieren, unterstützen Arrayobjekte expando-Eigenschaften. Expando-Eigenschaften sind neue Eigenschaften, die Sie dynamisch zu einem Array hinzufügen und aus diesem löschen können, wie Arrayindizes. Anders jedoch als Arrayindizes, die ganze Zahlen sein müssen, sind expando-Eigenschaften Zeichenfolgen. Darüber hinaus wird durch Hinzufügen oder Löschen von expando-Eigenschaften die length-Eigenschaft nicht geändert.

Beispiel:

// Initialize an array with three elements.
var myArray = new Array("Hello", 42, new Date(2000,1,1));
print(myArray.length); // Prints 3.
// Add some expando properties. They will not change the length.
myArray.expando = "JScript";
myArray["another Expando"] = "Windows";
print(myArray.length); // Still prints 3.

Typisierte Arrays

Schneller lässt sich das oben angegebene theMonths-Array durch Erstellen eines typisierten (systemeigenen) Arrays, in diesem Fall eines Arrays von Zeichenfolgen, aufbauen:

var theMonths : String[] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];

Auf Elemente in typisierten Arrays kann schneller zugegriffen werden als auf Elemente in Array-JScript-Objekten. Typisierte Arrays sind kompatibel mit Arrays in anderen .NET Framework-Sprachen und gewährleisten Typsicherheit.

Array-JScript-Objekte sind sehr flexibel und ideal geeignet für Listen, Warteschlangen, Stapel usw. Systemeigene Arrays eignen sich hingegen besser für das Speichern von Elementen mit fester Größe desselben Typs. Grundsätzlich sollten typisierte Arrays verwendet werden, es sei denn, die speziellen Features des Array-Objekts werden benötigt (dynamische Größenanpassung usw.).

Alle nicht destruktiven Array-Methoden in JScript (Methoden, die die Länge nicht ändern) können für typisierte Arrays aufgerufen werden.

Siehe auch

Referenz

Array-Objekt

Weitere Ressourcen

Systeminterne Objekte