Slingan
for each..in
itererar genom en samlings objekt som kan vara taggar i ett XML- eller XMLList-objekt, värden för objektegenskaper eller element i en array. Som visas i följande utdrag kan du använda en
for each..in
-slinga för att iterera genom egenskaper för ett generiskt objekt, men i motsats till slingan
for..in
innehåller iteratorvariabeln i en
for each..in
-slinga värdet för egenskapen i stället för namnet på egenskapen:
var myObj:Object = {x:20, y:30};
for each (var num in myObj)
{
trace(num);
}
// output:
// 20
// 30
Du kan iterera genom ett XML- eller XMLList-objekt, vilket visas i följande exempel:
var myXML:XML = <users>
<fname>Jane</fname>
<fname>Susan</fname>
<fname>John</fname>
</users>;
for each (var item in myXML.fname)
{
trace(item);
}
/* output
Jane
Susan
John
*/
Du kan även iterera genom elementen i en array, vilket visas i följande exempel:
var myArray:Array = ["one", "two", "three"];
for each (var item in myArray)
{
trace(item);
}
// output:
// one
// two
// three
Du kan inte iterera genom egenskaperna för ett objekt om objektet är en instans av en fast klass. Inte ens för instanser av dynamiska klasser kan du iterera genom fasta egenskaper som har definierats som en del av klassdefinitionen.