Приведенные выше ответы не учитывают, что вы в основном будете выполнять операции с элементами массива в цикле
Этот код
import flash.utils.getTimer;
var a:Array=[];
var time:int=0;
for(var i:int=0; i<10000; i++) {
a.push(new Date());
}
time=getTimer();
for(var j:int=0; j<a.length; j++) {
var dt:Date=a[j];
dt.valueOf();
}
trace("for: " , getTimer()-time);
time=getTimer();
for each(var xt:Date in a) {
xt.valueOf();
}
trace("for each: " , getTimer()-time);
time=getTimer();
a.forEach(nothing);
trace("a.forEach: " , getTimer()-time);
function nothing(d:Date, ...args):void {
d.valueOf();
}
Возвращает следующее:
for: 3
for each: 2
a.forEach: 13
Для 100000 значений результаты еще более впечатляющие
for: 27
for each: 17
a.forEach: 138
Общий победитель: для каждого цикла
for each(var d:myClass in myCollection) {
//myCode
}