« ビットマップエフェクター | メイン | LocoRocoとヨッシーアイランドが似ている件について »

Arrayの追加メソッド

Flashはヘルプが充実していて下手な参考書よりも役に立つことがしばしばあるのですが、バージョンアップ時に追加されたメソッドがこっそり書かれているため、チェックは欠かせません。
ActionScript3.0でも既存のビルトインクラスにメソッドが幾つか追加されていますが、特にArrayにはたくさん追加されています。
コールバックメソッドを指定するものがほとんどなので、まとめて覚えてしまうのがよさげです。


Array.indexOf
Array.lastIndexOf
これは今まではprototypeで強引に追加定義したりしたものですが。やっとこさ実装されました。
引数で指定した要素が配列のどこにあるか探すメソッドです。

Array.forEach
配列の全ての要素について特定の処理を施したい時に使います。
for each 文とほとんど変わりませんが、同じ処理が何度も使いまわされるような場合に向いています。

Array.every
これは配列の全ての要素について、ある条件を満たしているかどうかをチェックするために使います。
条件自体は引数で指定するコールバックメソッド内に記述します。

Array.some
これはArray.everyと似ているのですが、ある条件を満たす要素が配列内に存在するかどうかをチェックするために使います。
こちらも条件自体は引数で指定するコールバックメソッド内に記述します。

Array.map
これはPerlでよく使いますね。
配列の全ての要素に一定の処理を施した値を要素とする新しい配列が欲しい時に使います。
コールバックメソッドの返り値が、新しい配列の要素となります。

Array.filter
こちらもPerlで頻出のgrep関数と同じで、要素のフィルタリングを行います。
コールバックメソッド内に記述する条件を満たす要素のみから構成される新たな配列を返します。


処理速度的には for each で回すのがもちろん一番速いのですが、処理が高速化されているActionScript3.0では些細なレベルっぽいです。
ただでさえイベントだらけのコールバックメソッドだらけになるので、この際コールバックメソッドで固めてしまうもよし、やらなくても済むところは徹底的に省くもよし、開発者のソース管理能力とセンスが問われるところでしょうか。

トラックバック

このエントリーのトラックバックURL:
http://void.heteml.jp/mt/mt-tb.cgi/21

コメント

certainly like your website however you have to check the spelling on several of your posts. Many of them are rife with spelling problems and I to find it very troublesome to inform the truth nevertheless I will surely come back again. eggaadeeckkbdfga

コメントを投稿

あわせて読みたい