Array


Object
    |
    +-Array

public dynamic class Array
extends Object

Array クラスを使用すると、インデックス付き配列にアクセスして操作できます。インデックス付き配列とは、配列内での位置を表す番号でプロパティを特定するオブジェクトのことです。この番号のことをインデックスと言います。すべてのインデックス付き配列はゼロから始まります。つまり、配列内の第 1 のエレメントは [0] であり、第 2 のエレメントは [1] です (以下同様)。Array オブジェクトを作成するには、コンストラクタ new Array() を使用します。配列の各エレメントにアクセスするには、配列アクセス演算子 ([]) を使用します。

配列エレメントには、数値、ストリング、オブジェクト、他の配列など、各種データ型を保存できます。多次元配列は、インデックス付き配列を作成し、その各エレメントに異なるインデックス配列を代入することで作成できます。このような配列は、表内のデータを表現する場合に使用できるので多次元であると見なされます。

配列では、値による代入ではなく、参照による代入が行われます。ある配列変数に別の配列変数を代入すると、両方とも同じ配列を参照するようになります。

var oneArray: Array = new Array("a", "b", "c");
var twoArray: Array = oneArray; // 両方の配列の変数が同じ配列を参照する
twoArray[0] = "z"; 
trace(oneArray); // z,b,c を出力する

Array クラスは、連想配列を作成する場合に使用しないでください。連想配列は異なるデータ構造を備えており、数値エレメントではなく、名前エレメントがあります。連想配列 (ハッシュとも言います) を作成する場合は、Object クラスを使用してください。ActionScript では Array クラスを使用して連想配列を作成できますが、Array クラスのメソッドやプロパティは使用できません。基本的に、連想配列は Object クラスのインスタンスであり、キー値ペアはプロパティとその値という形式で表現されます。Object 型を使用して連想配列を宣言する別の理由は、そうすると、オブジェクトリテラルを使用して連想配列にデータを設定できるからです (ただし、宣言時のみ)。次の例では、オブジェクトリテラルを使用して連想配列を作成し、ドット演算子と配列アクセス演算子を両方とも使用して項目にアクセスします。その後、新しいプロパティを作成することで新しいキー値ペアを追加します。

var myAssocArray: Object = {fname: "John", lname: "Public"};
trace(myAssocArray.fname); // John を出力する
trace(myAssocArray["lname"]); // Public を出力する
myAssocArray.initial = "Q";
trace(myAssocArray.initial); // Q を出力する

使用できるバージョン : ActionScript 1.0、Flash Lite 2.0 - Flash Player 6 ではネイティブオブジェクトになり、パフォーマンスが大幅に向上しました。

次の例では、my_array を 4 つの月の名前で構成します。

var my_array: Array = new Array();
my_array[0] = "January";
my_array[1] = "February";
my_array[2] = "March";
my_array[3] = "April";

プロパティ一覧

オプション

プロパティ

説明

static

CASEINSENSITIVE: Number

大文字と小文字を区別しないソートを表します。

static

DESCENDING: Number

降順のソート順を表します。

 

length: Number

配列内のエレメント数を示す 0 以上の整数。

static

NUMERIC: Number

ストリングベースのソートではなく、数値によるソートを表します。

static

RETURNINDEXEDARRAY: Number

sort() または sortOn() メソッドの呼び出し結果としてインデックス付き配列を返すオプションを表します。

static

UNIQUESORT: Number

一意性ソート要件を表します。


Object クラスから継承されるプロパティ

constructor (Object.constructor プロパティ), __proto__ (Object.__proto__ プロパティ), prototype (Object.prototype プロパティ), __resolve (Object.__resolve プロパティ)


コンストラクタ一覧

シグネチャ

説明

Array([value: Object])

配列を作成できます。


メソッド一覧

オプション

シグネチャ

説明

 

concat([value: Object]) : Array

パラメータで指定されたエレメントを配列内のエレメントと連結して、新しい配列を作成します。

 

join([delimiter: String]) : String

配列内のエレメントをストリングに変換し、指定されたセパレータをエレメント間に挿入し、エレメントを連結して、その結果をストリングとして返します。

 

pop() : Object

配列の最後のエレメントを削除して、そのエレメントの値を返します。

 

push(value: Object) : Number

エレメントを配列の最後に追加して、配列の新しい長さを返します。

 

reverse() : Void

配列の並びを反転させます。

 

shift() : Object

配列の最初のエレメントを削除して、そのエレメントを返します。

 

slice([startIndex: Number], [endIndex: Number]) : Array

元の配列から一連のエレメントを取り出して、新しい配列を返します。元の配列は変更されません。

 

sort([compareFunction: Object], [options: Number]) : Array

配列内のエレメントをソートします。

 

sortOn(fieldName: Object, [options: Object]) : Array

配列内のフィールド (複数のフィールドも可能) に基づいて、配列内のエレメントをソートします。

 

splice(startIndex: Number, [deleteCount: Number], [value: Object]) : Array

配列のエレメントを追加および削除します。

 

toString() : String

指定された Array オブジェクト内のエレメントを表すストリングを返します。

 

unshift(value: Object) : Number

エレメントを配列の先頭に追加して、配列の新しい長さを返します。


Object クラスから継承されるメソッド

addProperty (Object.addProperty メソッド), hasOwnProperty (Object.hasOwnProperty メソッド), isPropertyEnumerable (Object.isPropertyEnumerable メソッド), isPrototypeOf (Object.isPrototypeOf メソッド), registerClass (Object.registerClass メソッド), toString (Object.toString メソッド), unwatch (Object.unwatch メソッド), valueOf (Object.valueOf メソッド), watch (Object.watch メソッド)