トップ > Action Script 3.0 > 配列処理 forEach() メソッドのメモ書き

配列処理 forEach() メソッドのメモ書き

配列処理と言えば、ループ処理を使って


ARR=[1, 2, 3, 4, 5];
for (var i:uint=0; i<ARR.length; i++) {
	ARR[i]
	~何らかの処理
}

こんな感じで処理する方法が一般的(?)だ。
少なくとも僕は毎回こんな感じでスクリプトを組んでいる。

でも、AS3を勉強している時に別の方法も知ったので一応メモ。
forEach() メソッドというものだ。


package {
	/*============================================================
	クラス読み込み
	============================================================*/
	import flash.display.StageScaleMode;
	import flash.display.StageAlign;
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	
	public class Main extends Sprite {
		
		private var ARR:Array;
		private var count:uint=0;
		private var all:uint=0;
		private var TXT:TextField;
		
		//コンストラクタ
		public function Main() {
			
			//ステージサイズ設定
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			
			ARR=new Array();
			for (var i:uint=1; i<=50; i++) {
				ARR.push(i);
			}
			
			ARR.forEach(forEachSample);	//forEach メソッドを実行
			
			//forEach 用のコールバック関数
			//引数は必ず下記のように3つを記述する
			function forEachSample(no:uint, i:int, arr:Array) {
				all+=no;
				count++;
			}
			
			//テキストフィールド作成
			TXT = new TextField();
			with (TXT) {
				autoSize = TextFieldAutoSize.LEFT;
				multiline = true;
				wordWrap = true;
				text = "カウント:" + count+"/合計:"+all+"\n";
				text += "配列:\n";
				text += ARR.join(" / ");
				width = 400;
				mouseEnabled = false;	//マウスイベントを受け取らなくする
			}
			addChild(TXT);
		}
	}
}

※戻り値はなし

この記事をブックマークしておく

コメント:0

コメント投稿

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

この情報を記憶する

トップ > Action Script 3.0 > 配列処理 forEach() メソッドのメモ書き

記事検索
カテゴリ
RSSフィード

このページの先頭へ戻る