配列の便利APIいろいろ
JavaScriptと一緒かと思ったら微妙に拡張されてますね! > ActionScriptの配列。ということで、便利そうなAPIを使うサンプルを書いてみました。
使ってみたAPIは以下。
- Array#forEach
- 配列の要素を順番に取り出します。forループの代わりに。
- Array#map
- 配列の要素それぞれに関数を適用し、結果の配列を返します。
- Array#filter
- 配列の要素それぞれに関数を適用し、結果がtrueの要素の配列を返します。
rubyっぽいラインナップですね。
// 結果の表示用 var stdout:TextField = new TextField(); stdout.width = 500; stdout.height = 500; addChild(stdout); stdout.text = ""; var array:Array = [ 1,2,3,4,5 ]; // forEach // 配列の要素を列挙する stdout.text += "\n---forEach\n"; array.forEach( function( item:*,index:int,arr:Array ):void{ stdout.text += index+":"+item+"\n"; } ) ; // map //配列の要素それぞれに関数を適用し、結果の配列を返す。 stdout.text += "\n---map\n"; var a:Array = array.map( function( item:*,index:int,arr:Array ):*{ return item*2; // 各要素を2倍にした配列を得る } ) ; stdout.text += a.join(",")+"\n"; // 2,4,6,8,10 //filter //配列の要素それぞれに関数を適用し、結果がtrueの要素の配列を返す。 stdout.text += "\n---filter\n"; a = array.filter( function( item:*,index:int,arr:Array ):*{ return item%2==0; // 偶数の要素の配列を得る } ) ; stdout.text += a.join(",")+"\n"; // 2,4