2009 年 4 月 のアーカイブ

配列(Array)の要素をクリアする

2009 年 4 月 27 日 月曜日

一度配列を作成して、使い回しをしたくなりました。
nullを突っ込んでみたら普通にクリアできましたね。

var array:Array = ["1","2","3"];
trace(array) // 出力:1,2,3

array = null;
trace(array) // 出力:null

array = ["いち","に","さん"];
trace(array); // 出力:いち,に,さん

for、for…in、for each…inを使用したループ処理

2009 年 4 月 1 日 水曜日

for文の書式

for (初期化; 条件式; 更新処理){
繰り返し実行したい処理
}

forは主に指定した回数分の繰り返し処理を行いたい場合に使用します。1回処理が行われるごとに[i++]の部分でカウントアップ、iの値が10になった時点でループから抜けます。

//何回目の処理かを出力
for (var i:int = 0; i<10 ; i++){
trace(i + “回目”); // 出力:0回目,1回目,2回目, ~ 9回目
}

//処理内容が1行なら{}を省略できる
for (var i:int = 0; i<10 ; i++) trace(i + “回目”);

for…in、for each…inの書式

//for…in
for (変数 in 配列名 ){
繰り返したい処理
}

//for each…in
for each(変数 in 配列名 ){
繰り返したい処理
}

配列やXMLからインデックス番号やプロパティ名を取り出すときにはfor…in、for each…inを使います。for…inは配列のインデックス番号を、for each…inは配列のプロパティを取り出します。配列の要素の数だけ処理を繰り返します。

var array:Array = ["いち","に","さん"];

//配列番号を出力
for (index:String in array){
trace(int(index)); // 出力:0,1,2
}

//配列のプロパティを出力
for each(index:String in array){
trace(index); // 出力:いち,に,さん
}

この場合、変数のデータ型がStringというところに注意です、例えばfor…inを使ってインデックス番号を出力した場合、見た目には解りにくいですが数字はString型として出力されているので、数字として利用する場合はint型などにキャスト(型変換)します。

これをキャストしないで出力してみると0が返されます。

var array:Array = ["いち","に","さん"];

//キャストしないで配列番号を出力
for (index:String in array){
trace(index); // 出力:0,0,0
}

要素の数だけ処理を繰り返すので、指定した配列やXMLエレメントに処理をするときにものすごく便利です。