Цикл «for in» перебирает индексы элементов массива или списка, а цикл «for each» перебирает элементы массива или списка.
Пример 1: массив
Зададим общий массив данных:
var mas: Array = [2, 5, 9];
Применяем цикл «for in»:
for (var item in mas) { trace("item = ", item); }
Вывод будет следующим:
item = 0 item = 1 item = 2
А т.е. индексы самого массива, которые можно использовать и получить элементы массива:
for (var item: String in mas) { trace(mas[item]); }
Вывод:
2 5 9
Применяем цикл «for each»:
for each (var item in mas) { trace(item); }
Вывод:
2 5 9
Как видно, переменной item присваивается значение элемента массива, как бы минуя индекс.
Пример 2: объект
Зададим начальные данные — объект с полями.
var obj: Object = {item1: 2, item2: 34, item3: 45};
Применяем цикл «for in»:
for (var key: String in obj) { trace(key); }
Вывод будет следующим:
item1 item2 item3
Применяем цикл «for each»:
for each (var item: Object in obj) { trace(item); }
Вывод:
2 34 45