配列(Array)の作成には配列リテラルを使うか、new演算子を使用するかの2通り。
一つのステートメントでまとめて値を入れたい場合は配列リテラル、あらかじめ任意の数の空エレメントを作ったり、ステートメントごとに個別に入れていきたい場合はnewする方法が便利というのが個人的な感想です。どちらも配列が作成されるということには変わりないかな。
// 配列リテラルの場合
var array:Array = ["エレメント1","エレメント2","エレメント3","エレメント4"];
trace(array); // 出力:エレメント1,エレメント2,エレメント3,エレメント4
trace(array.length); // 出力:4 (lengthは配列のエレメント数を取得します)
// newする場合。ここでは空のエレメントを4個作成してみる。
var array:Array = new Array(4); //配列のエレメント数を任意で指定
trace(array.length); // 出力:4 (空のエレメントが4つ作成された)
// newして個別に値を代入する場合
var array:Array = new Array();
array[0] = “エレメント1;
array[1] = “エレメント2;
array[2] = “エレメント3;
array[3] = “エレメント4;
trace(array.length); // 出力:4
配列を扱う場合の各部分の名称とか
array[0]のような[ ]カッコを配列アクセス演算子と呼ぶ。配列に割り当てられた数字はインデックス(添え字)と呼び、0から始まる数字が割り当てられる。また”エレメント1″という値の部分はエレメントと呼ぶ。配列から個別にエレメントを取得するには配列アクセス演算子を使う。
Arrayクラスのlengthプロパティで取得できる値は「インデックス」ではなく「エレメント数」なので、
ということになる。
エレメントには全てのデータ型オブジェクトを指定ことが可能。また、同じ配列内に異なるデータ型のオブジェクトが混在していてもOK。(他の言語では不可なことが多いらしい)
// 異なるデータ型のオブジェクトを入れてみる
var flag:Boolean = false;
var str:String = “エレメント”;
var num:Number = 10;
var array:Array = [flag,str,num];
trace(array); // 出力: false,エレメント,10
// 上記のstrを取得、変数objに代入
var obj:String = array[1]