for...in-Anweisung
Aktualisiert: November 2007
Führt eine oder mehrere Anweisungen für jede Eigenschaft eines Objekts oder jedes Element eines Arrays bzw. einer Auflistung aus.
for ( [var] variable in {object | array | collection})
statement
Argumente
variable
Erforderlich. Eine Variable, bei der es sich um einen beliebigen Eigenschaftennamen von object, einen beliebigen Index von array oder ein beliebiges Element von collection handeln kann.object
Ein JScript-Objekt, das durchlaufen werden soll.array
Ein Array, das durchlaufen werden soll. Dabei kann es sich um ein Array-Objekt von JScript oder ein .NET Framework-Array handeln.collection
Eine Auflistung, die durchlaufen werden soll. Dabei kann es sich um eine beliebige Klasse handeln, die die Schnittstellen IEnumerable oder IEnumerator von .NET Framework implementiert.statement
Optional. Anweisungen, die für jede Eigenschaft von object bzw. jedes Element von array oder collection ausgeführt werden sollen. Hierbei kann es sich um eine zusammengesetzte Anweisung handeln.
Hinweise
Vor jeder Schleifeniteration wird variable der nächste Eigenschaftenname von object, der nächste Index von array oder das nächste Element von collection zugewiesen. Sie können variable in allen Anweisungen innerhalb der Schleife verwenden, um auf die Eigenschaft von object oder das Element von array zu verweisen.
Bei der Iteration eines Objekts kann die Reihenfolge, in der dem variable-Argument die Membernamen des Objekts zugeordnet werden, nicht bestimmt bzw. gesteuert werden. Die for...in-Anweisung kann nur die Members von JScript-Objekten durchlaufen, also beispielsweise keine .NET Framework-Objekte.
Arrays werden in der Reihenfolge der Elemente durchlaufen, beginnend mit dem kleinsten Index und endend mit dem größten Index. Da Array-Objekte in JScript eine geringe Datendichte aufweisen können, greift die for...in-Anweisung nur auf die definierten Elemente des Arrays zu. Array-Objekte von JScript können auch expando-Eigenschaften aufweisen. In diesem Fall werden variable die Arrayindizes als Eigenschaftennamen zugewiesen. Wenn es sich bei dem Array um ein mehrdimensionales .NET Framework-Array handelt, wird nur die erste Dimension aufgezählt.
Bei der Iteration einer Auflistung werden variable die Elemente in der Reihenfolge zugewiesen, in der sie in der Auflistung vorkommen.
Beispiel 1
Das folgende Beispiel veranschaulicht die Verwendung der for...in-Anweisung für ein Objekt, das als assoziatives Array verwendet wird.
function ForInDemo1() {
var ret = "";
// Initialize the object with properties and values.
var obj : Object = {"a" : "Athens" ,
"b" : "Belgrade",
"c" : "Cairo"};
// Iterate over the properties.
for (var key in obj)
// Loop and assign 'a', 'b', and 'c' to key.
ret += key + ":\t" + obj[key] + "\n";
return(ret);
} // ForInDemo1
Diese Funktion gibt die Zeichenfolge mit dem folgenden Inhalt zurück:
a: Athens
b: Belgrade
c: Cairo
Beispiel 2
Diese Beispiel veranschaulicht die Verwendung der for...in-Anweisung für ein Array-Objekt von JScript mit expando-Eigenschaften.
function ForInDemo2() {
var ret = "";
// Initialize the array.
var arr : Array = new Array("zero","one","two");
// Add a few expando properties to the array.
arr["orange"] = "fruit";
arr["carrot"] = "vegetable";
// Iterate over the properties and elements.
for (var key in arr)
// Loop and assign 0, 1, 2, 'orange', and 'carrot' to key.
ret += key + ":\t" + arr[key] + "\n";
return(ret);
} // ForInDemo2
Diese Funktion gibt die Zeichenfolge mit dem folgenden Inhalt zurück:
0: zero
1: one
2: two
orange: fruit
carrot: vegetable
Beispiel 3
Das folgende Beispiel veranschaulicht die Verwendung der for...in-Anweisung bei einer Auflistung. Hier stellt die GetEnumerator-Methode des System.String-Objekts eine Auflistung der Zeichen in der Zeichenfolge bereit.
function ForInDemo3() {
var ret = "";
// Initialize collection.
var str : System.String = "Test.";
var chars : System.CharEnumerator = str.GetEnumerator();
// Iterate over the collection elements.
var i : int = 0;
for (var elem in chars) {
// Loop and assign 'T', 'e', 's', 't', and '.' to elem.
ret += i + ":\t" + elem + "\n";
i++;
}
return(ret);
} // ForInDemo3
Diese Funktion gibt die Zeichenfolge mit dem folgenden Inhalt zurück:
0: T
1: e
2: s
3: t
4: .
Anforderungen
Hinweis: |
---|
Für das Durchlaufen von Auflistungen ist Version .NET erforderlich. |