2 次元配列

(サンプル一覧を表示する)

FlashDevelop を使って、2 次元配列のテストをしてみました。
Flash の実行画面
2 次元配列

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

2 次元配列

ソースコード

package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	
	/**
	 * 2 次元配列のテスト
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		/**
		 * テスト用の配列
		 */
		private var array2:Array;
		
		/**
		 * 画面表示用のテキストフィールド
		 */
		private var textField:TextField;
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化イベント
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			var textFormat:TextFormat = new TextFormat();
			textFormat.size = 14;
			
			textField = new TextField();
			textField.autoSize = TextFieldAutoSize.LEFT;
			textField.defaultTextFormat = textFormat;
			addChild(textField);
			
			// 2 次元配列の初期化
			array2 = [
						[1, 2, 3, 4],			// array2[0][0] 〜 array2[0][3]
						[11, 12, 13, 14],		// array2[1][0] 〜 array2[1][3]
						["a", "b", "c", "d"]	// array2[2][0] 〜 array2[2][3]
					 ];
			
			// 配列の内容を表示
			var text:String = "";
			
			for (var y:int = 0; y < 3; y++)
			{
				for (var x:int = 0; x < 4; x++)
					text += "array2[" + y + "][" + x + "] = " + array2[y][x] + "\n";
				text += "\n";
			}
			
			textField.text = text;
			
		}
		
	}
	
}		

配列は通常、var array:Array = new Array(); のような初期化の仕方をしますが、
ここでは " [ ] " を使って初期化しています。

new Array(); で初期化した場合、array[1] = 1; のように、
直接値を代入することで 要素を動的に追加することができます。
この時、添え字に使う値は整数である必要はありません。
array["Name"] = 1; のように、連想配列のような形式で配列を扱うこともできます。

new Array(); の形式で 2 次元配列を作成する時は、
array[0] = new Array(); というように、
2 段目の配列を明示的に作る必要があります。
この時、2 段目に = new Array(); をしなかった場合、代入時にエラーが出ます。

外部リンク