Met de lus for each..in doorloopt u de items van een verzameling. Dit kunnen tags in een object XML of XMLList zijn, de waarden van objecteigenschappen of de elementen van een array. Het volgende voorbeeldfragment laat zien dat u met een lus for each..in de eigenschappen van een algemeen object kunt doorlopen. Anders dan bij de lus for..in bevat de variabele voor de iterator in een lus for each..in echter de waarde van de eigenschap in plaats van de naam van de eigenschap:
var myObj:Object = {x:20, y:30};
for each (var num in myObj)
{
trace(num);
}
// output:
// 20
// 30
U kunt een object XML of XMLList doorlopen, zoals in het volgende voorbeeld wordt getoond:
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
*/
U kunt ook de elementen van een array doorlopen, zoals dit voorbeeld laat zien:
var myArray:Array = ["one", "two", "three"];
for each (var item in myArray)
{
trace(item);
}
// output:
// one
// two
// three
U kunt niet de eigenschappen van een object doorlopen wanneer het object een instantie van een verzegelde klasse is. Zelfs voor instanties van dynamische klassen kunt u vaste eigenschappen (eigenschappen die zijn gedefinieerd als onderdeel van de klassendefinitie) niet doorlopen.