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