Есть массив 1,2,3,4,5,6,7,8
Нужно по таймеру (или еще как-то) выбирать из него по несколько элементов, допустим, по 3
Можно ли как-то оптимизировать этот код, или вообще, проще сделать ?

Код AS3:
import flash.utils.Timer;
import flash.events.TimerEvent;
var data:Array=[0,1,2,3,4,5,6,7];
var tickItems:int=3;
var counter:int=0;
var timer:Timer=new Timer(1000);
timer.start();
timer.addEventListener(TimerEvent.TIMER,timerHandler);
function timerHandler(event:TimerEvent):void
{
var i:int;
var items:Array=new Array();
var startPos:int=counter;
counter+=tickItems;
if(counter>data.length)
{
var razn=Math.abs(counter-data.length);
for(i=startPos;i<data.length;i++)
{
items.push(data[i]);
}
for(i=0;i<razn;i++)
{
items.push(data[i]);
}
counter=razn;
}
else
{
for(i=startPos;i<startPos+tickItems;i++)
{
items.push(data[i]);
}
}
trace(items);
}