トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

配列を扱う_Flash

配列を扱う

複数のデータを入れておきたい入れ物を作る場合「配列」として管理します。これは「Array」クラスにて実装します。

valA = new Array(10);
for(i = 0; i < 10; i++) valA[i] = i;

この場合、valA[0]には数値の0が、valA[1]には数値の1が・・のように10個の要素を確保します。

値を取り出すのも、「val = valA[2];」のようにするだけです。

不要になったときに配列要素を削除する場合「delete valA;」のようにして削除します。newしたオブジェクト(Array含む)を削除する場合は「delete」で消せる、と覚えておいてください。

delete valA;

また、配列には数値だけでなく、文字列・オブジェクト(クラスで生成)なども格納できます。

配列の要素数を取得

配列の要素数は、以下のようにlengthを参照することで求まります。

valA = new Array(10);
for(i = 0; i < 10; i++) valA[i] = i;
len = valA.length;

結果、lenには10が返ります。

オブジェクトを配列に入れる

以下のように「Foo」というクラスを作成したとします。

function Foo(num) {
    this.num = num;
    this.val = 0;
}

これを以下のようにすることで、配列としてオブジェクトにアクセスすることができるようになります。

valA = new Array(10);
for(i = 0; i < 10; i++) valA[i] = new Foo(i);

valA[0].num = 12;
valA[0].val = 24;
valA[1].num =  8;
valA[1].val = 11;

この場合のオブジェクトの削除は以下のとおりです。

for(i = 0; i < 10; i++) delete valA[i];
delete valA;

2次元配列を実現する

Arrayクラスは、1次元配列のみを生成しますので2次元配列以上の場合は少し工夫が必要です。

valA = new Array(10);
for(i = 0; i < 10; i++) valA[i] = new Array(20);

こうすると、「valA[5][8]」のようにして2次元配列を実現することができます。この例の場合は「valA[0][0]〜valA[9][19]」までの要素にアクセスできます。

valA[5][2] = 10;
valA[6][6] = 7;
val = valA[5][2] + valA[6][6];

この場合のオブジェクトの削除は以下のとおりです。

for(i = 0; i < 10; i++) delete valA[i];
delete valA;

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.