配列の使用

作業で配列を使用するには、いくつか異なる方法があります。配列を使用すると、返されるアイテムなどのオブジェクトのリストを格納できます。リモート Web サーバーからデータをロードする場合、ネストされたオブジェクトの配列としてデータを受け取ることもできます。配列には、同じような形式でデータが含まれます。たとえば、Flash でオーディオアプリケーションを作成する場合、ユーザーの再生リストを音楽情報の配列として、オブジェクトに格納していることがあります。各オブジェクトには、曲名、アーティスト名、曲の長さ、サウンドファイル (MP3 など) の場所、または特定のファイルに関連付ける必要がある、その他の情報が含まれます。

配列内のアイテムの場所は、"インデックス" と呼ばれます。すべての配列はゼロベースです。つまり、配列内の第 1 のエレメントは [0] であり、第 2 のエレメントは [1] です (以下同様)。

配列には異なる種類がありますが、それについては以下のセクションで説明します。最も一般的な配列では、数値インデックスを使用して、"インデックス付き配列" で特定のアイテムを参照します。2 番目の種類の配列は "結合配列" と呼ばれ、数値インデックスではなくテキストインデックスを使って情報を参照します。一般的な配列の詳細については、配列についてを参照してください。結合配列の修正の詳細については、結合配列の作成を参照してください。多次元配列の詳細については、多次元配列の作成を参照してください。配列アクセス演算子の詳細については、ドット演算子と配列アクセス演算子の使用を参照してください。

Array ビルトインクラスを使用すると、配列にアクセスして操作することができます。Array オブジェクトを作成するには、コンストラクタ new Array() または配列アクセス演算子 ([]) を使用します。配列の各エレメントにアクセスする場合も、配列アクセス演算子 ([]) を使用します。次の例ではインデックス付き配列を使用します。

コードで配列を使用するには :

  1. 新しい Flash ドキュメントを作成し、basicArrays.fla という名前を付けて保存します。
  2. タイムラインのフレーム 1 に次の ActionScript を追加します。
    // 新しい配列を定義する
    var myArr:Array = new Array();
    // 2 つのインデックスで値を定義する
    myArr[1] = "value1";
    myArr[0] = "value0";
    // 配列のアイテムの繰り返し処理を実行する
    var i:String;
    for (i in myArr) {
        // キーと値のペアをトレースする
        trace("key: " + i + ", value: " + myArr[i]);
    }
    

    ActionScript の最初の行では、新しい値を定義して値を保持します。次に、配列の 2 つのインデックスでデータ (value0 および value1) を定義します。for..in ループを使用して、その配列の各アイテムの繰り返し処理を実行し、trace ステートメントを使用して [出力] パネルにキーと値のペアを表示します。

  3. [制御]-[ムービープレビュー] を選択してコードをテストします。

    次のテキストが [出力] パネルに表示されます。

    key: 0, value: value0
    key: 1, value: value1
    

    for..in ループの詳細については、for..in ループの使用を参照してください。

異なる種類の配列を作成する方法については、以下のセクションを参照してください。

ActionScript を使用した配列の操作を示すサンプルのソースファイル "array.fla" については、Flash サンプルページ (www.adobe.com/go/learn_fl_samples_jp) を参照してください。"Samples" zip ファイルをダウンロードし解凍して、"ActionScript2.0/Arrays" フォルダに移動してサンプルにアクセスします。このサンプルのコードでは、配列を作成し、2 つの List コンポーネントの項目をソート、追加、および削除しています。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000717.html