« 2.7 条件分岐 | メイン | 3.1 配列の操作(2)Arrayクラスを使う »

3.1 配列の操作(1)

■配列演算子[]を使う
配列を利用すれば、複数の値を1つの値としてまとめて取り扱うことができて便利です。配列は配列演算子[]を使って作ることができます。値をカンマ(,)で区切り、[]で囲みます。たとえば、次のように配列を作ります。データ型はArrayを指定します。

例:
var myValue:Array = [2, 5, 3, 10, 99];
var myColor:Array = ["red", "green", "yellow"];
var weekj:Array = ["日", "月", "火","水", "木", "金", "土"];

配列から値を取り出したり値を更新するには、配列[位置]の式で配列の並びの位置(インデックス)を指して参照します。このとき、位置を左から0、1、2のように0から数えるので注意してください。例を示すと次のようになります。

例:
var colorlist:Array = ["red", "green", "yellow"];
var colorA:String = colorlist[0];
var colorB:String = colorlist[1];
trace(colorA);
//出力:red
trace(colorB);
//出力:green

次のgetYoubi()は日付から曜日を調べる関数です。DateクラスのgetDay()は曜日を0〜6の数値で返すので、weekj配列に「日、月、火、水、木、金、土」の順で曜日を入れておき、getDay()が指した位置の値を取り出します。

[:sample:] getYoubi.fla
例:曜日を調べる
function getYoubi(date:Date):String {
	var weekj:Array = ["日", "月", "火", "水","木", "金", "土"];
	var youbiNo:int = date.getDay();
	var youbi:String = weekj[youbiNo];
	return youbi;
}

var today:Date = new Date();
var youbi:String = getYoubi(today);
trace(youbi);
//出力:月

配列のインデックス番号を指定して、任意の位置に値を追加することができます。配列の長さ以上の位置を指した場合は、途中の不足している値はundefinedになります。

例:
var myArray:Array = new Array();
myArray[0] = "a";
myArray[1] = "b";
myArray[4] = "e";
trace(myArray);
//出力:a,b,,,e

配列の長さ以上の位置の値を取り出すとundefinedになります。undefinedという値は、取り出した値を入れる変数のデータ型に応じて初期値が割り当てられます。たとえば、String型ならばnull、int型ならば0という値に強制的に変換されます。

[:sample"] undefined-test.fla

例:
var myColor:Array = ["red", "green", "yellow"]; 
trace(myColor[5]);
//出力:undefined
var color:String = myColor[5];
trace(color);
//出力:null

例:
var myValue:Array = [20, 50, 30];
trace(myValue[5]);
//出力:undefined
var v:int = myValue[5];
trace(v);
//出力:0

■多次元配列
配列の中に配列を入れた多次元配列を作ることができます。多次元配列は複雑なデータを操作する上で有効な手段となります。多次元配列から要素を取り出す例を見てください。

例:
var colorlist:Array = [["red", "pink"], ["wihte", "blue"], ["green", "black"]];
var myColor:String = colorlist[2][1];
trace(myColor);
//出力:black

この例では、まずcolorlist[2]の値を取り出します。位置を0から数えるので[2]は左から3番目の ["green", "black"]になります。したがって、続いて ["green", "black"][1]を実行することになります。その結果、myColorには"black"が入ります。

About

2007年6月 3日 15:40に投稿されたエントリーのページです。

ひとつ前の投稿は「2.7 条件分岐」です。

次の投稿は「3.1 配列の操作(2)Arrayクラスを使う」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。