書き物

技術とか作った物の話とか愚痴文句感想など

for each で末尾データの処理をスキップする方法

ちっちゃいネタですが、今まで気づかなかったので。

僕は AS3 で、できることなら for each を使いたがるのですが、この場合インデックスの情報を持っていないので、 「~番目のデータは処理しない」 とかの処理が出来ません。 まあそれは仕方ないのですが、 「末尾のデータは処理しない」 ということは結構簡単に出来ます。

var fooList:Vector. = new Vector.();

// データ登録 //  :

var savedFoo:Foo = fooList.pop();

for each (var foo:Foo in fooList) { // なんか処理 }

fooList.push(savedFoo);

パフォーマンスについては知りません!