| パッケージ | トップレベル |
| public dynamic class Array | |
| 継承 | Array Object |
[0]、2 番目のエレメントは [1] (以下同様) になります。Array オブジェクトを作成するには、new Array() コンストラクタを使用します。Array() は関数としても呼び出すことができます。さらに、配列アクセス ([]) 演算子を使用すると、配列の初期化または配列のエレメントへのアクセスを行うことができます。
配列エレメントには、数値、ストリング、オブジェクトを含む各種データ型、さらに他の配列をも保存できます。 多次元 配列は、インデックス付き配列を作成し、その各エレメントに異なるインデックス配列を割り当てることで作成できます。このような配列は、テーブル内のデータの表現に使用できるので、多次元であると考えられます。
配列は希薄な配列です。つまり、インデックス 0 に 1 つのエレメント、インデックス 5 に別のエレメントが存在しても、この 2 つのエレメントの間のインデックス位置にはエレメントが存在しない場合があります。このような場合、1 から 4 までの位置のエレメントは未定義となります。これはエレメントが存在しないことを示しており、必ずしも値 undefined を持つエレメントが存在するわけではありません。
配列では、値による割り当てではなく、参照による割り当てが行われます。ある配列変数に別の配列変数を割り当てると、両方とも同じ配列を参照するようになります。
var oneArray:Array = new Array("a", "b", "c");
var twoArray:Array = oneArray; // Both array variables refer to the same array.
twoArray[0] = "z";
trace(oneArray); // Output: z,b,c.
結合配列 (ハッシュとも呼ばれる) の作成には Array クラスを使用しないでください。結合配列は、数値エレメントではなく名前付きエレメントを含むデータ構造です。結合配列の作成には、Object クラスを使用してください。ActionScript では Array クラスを使用して結合配列を作成できますが、結合配列で Array クラスのメソッドやプロパティは使用できません。
Array クラスを拡張してメソッドをオーバーライドまたは追加することはできます。ただし、サブクラスを dynamic として指定する必要があります。そうしない場合、配列にデータを保管する機能が失われます。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| length : uint
配列内のエレメント数を示す負でない整数です。
| Array | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| メソッド | 定義 | ||
|---|---|---|---|
| Array(numElements:int = 0)
指定された数のエレメントを持つ配列を作成することができます。
| Array | ||
| Array(... values)
指定されたエレメントを持つ配列を作成することができます。
| Array | ||
| concat(... args):Array
パラメータで指定されたエレメントを配列内のエレメントと連結して、新しい配列を作成します。
| Array | ||
| every(callback:Function, thisObject:* = null):Boolean
指定された関数について
false を返すアイテムに達するまで、配列内の各アイテムにテスト関数を実行します。 | Array | ||
| filter(callback:Function, thisObject:* = null):Array
配列内の各アイテムについてテスト関数を実行し、指定された関数について
true を返すすべてのアイテムを含む新しい配列を作成します。 | Array | ||
| forEach(callback:Function, thisObject:* = null):void
配列内の各アイテムについて関数を実行します。
| Array | ||
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
| indexOf(searchElement:*, fromIndex:int = 0):int
厳密な等価 (
===) を使用して配列内のアイテムを検索し、アイテムのインデックス位置を返します。 | Array | ||
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
| join(sep:*):String
配列内のエレメントをストリングに変換し、指定されたセパレータをエレメント間に挿入し、エレメントを連結して、その結果をストリングとして返します。
| Array | ||
| lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int
配列内のアイテムを、最後のアイテムから先頭に向かって検索し、厳密な等価 (
===) を使用して、一致したアイテムのインデックス位置を返します。 | Array | ||
| map(callback:Function, thisObject:* = null):Array
配列内の各アイテムについて関数を実行し、元の配列の各アイテムに対する関数の結果に対応するアイテムから成る新しい配列を作成します。
| Array | ||
| pop():Object
配列の最後のエレメントを削除して、そのエレメントの値を返します。
| Array | ||
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
| push(... args):uint
エレメントを配列の最後に追加して、追加後の配列の長さを返します。
| Array | ||
| reverse():Array
配列の並びを反転させます。
| Array | ||
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
| shift():Object
配列の最初のエレメントを削除して、そのエレメントを返します。
| Array | ||
| slice(startIndex:int = 0, endIndex:int = -1):Array
元の配列から一連のエレメントを取り出して、新しい配列を返します。元の配列は変更されません。
| Array | ||
some(callback:Function, thisObject:* = null):Boolean
true を返すアイテムに達するまで、配列内の各アイテムにテスト関数を実行します。 | Array | ||
| sort(... args):Array
配列内のエレメントをソートします。
| Array | ||
| sortOn(fieldName:Object, options:Object = null):Array
配列内のフィールド (複数のフィールドも可能) に基づいて、配列内のエレメントをソートします。
| Array | ||
| splice(startIndex:int, deleteCount:uint, ... values):Array
配列のエレメントを追加および削除します。
| Array | ||
| toLocaleString():String
指定された配列内のエレメントを表すストリングを返します。
| Array | ||
| toString():String
指定された配列内のエレメントを表すストリングを返します。
| Array | ||
| unshift(... args):uint
エレメントを配列の先頭に追加して、配列の新しい長さを返します。
| Array | ||
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
| 定数 | 定義 | ||
|---|---|---|---|
| CASEINSENSITIVE : uint = 1 [static]
Array クラスのソートメソッドに対して、大文字と小文字を区別しないソートを指定します。
| Array | ||
| DESCENDING : uint = 2 [static]
Array クラスのソートメソッドに対して、降順でのソートを指定します。
| Array | ||
| NUMERIC : uint = 16 [static]
Array クラスのソートメソッドに対して、文字ストリングではなく数値によるソートを指定します。
| Array | ||
| RETURNINDEXEDARRAY : uint = 8 [static]
ソート結果として、配列インデックスで構成される配列を返すことを指定します。
| Array | ||
| UNIQUESORT : uint = 4 [static]
Array クラスのソートメソッドに対して、一意性ソート要件を指定します。
| Array | ||
| length | プロパティ |
length:uint [read-write]
配列内のエレメント数を示す負でない整数です。このプロパティは、新しいエレメントが配列に追加されると自動更新されます。配列エレメントに値を割り当てるとき (my_array[index] = value など)、index が数値でかつ index+1 が length プロパティよりも大きい場合、length プロパティが index+1 に更新されます。
メモ :length プロパティに既存の長さよりも短い値を割り当てた場合、配列は切り詰められます。
public function get length():uint
public function set length(value:uint):void
Bill を持つ Array オブジェクト names を作成します。
次に、push() メソッドによって、別のストリングエレメント Kyle を追加します。配列の長さは、
push() の使用前では length プロパティで決められているようにエレメント 1 個でしたが、
push() を呼び出した後はエレメント 2 個になります。別のストリング Jeff が追加され、
names の長さは エレメント 3 個になります。次に、shift() メソッドを 2 回呼び出して、
Bill と Kyle を削除し、最終的に length 1 の配列が作成されます。
var names:Array = new Array("Bill");
names.push("Kyle");
trace(names.length); // 2
names.push("Jeff");
trace(names.length); // 3
names.shift();
names.shift();
trace(names.length); // 1
| Array | () | コンストラクタ |
public 関数 Array(numElements:int = 0)
指定された数のエレメントを持つ配列を作成することができます。パラメータを指定しない場合は、0 個のエレメントを持つ配列が作成されます。エレメント数を指定する場合は、numElements 個のエレメントを持つ配列が作成されます。
メモ: このクラスは、2 つのコンストラクタメソッド項目を示しています。コンストラクタはさまざまなタイプの引数を受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡される引数の型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。
パラメータnumElements:int (default = 0) — 配列内のエレメント数を指定する整数です。
|
RangeError — 引数は、0 以上の整数ではない数値です。
|
関連項目
myArr を、
引数なし、初期の長さ 0 で作成します。
package {
import flash.display.Sprite;
public class Array_Array extends Sprite {
public function Array_Array() {
var myArr:Array = new Array();
trace(myArr.length); // 0
}
}
}
"one" を設定し、push() メソッドを使用してストリングエレメント "six" を
配列の最後に追加します。
package {
import flash.display.Sprite;
public class Array_Array_2 extends Sprite {
public function Array_Array_2() {
var myArr:Array = new Array(5);
trace(myArr.length); // 5
myArr[0] = "one";
myArr.push("six");
trace(myArr); // one,,,,,six
trace(myArr.length); // 6
}
}
}
| Array | () | コンストラクタ |
public 関数 Array(... values)指定されたエレメントを持つ配列を作成することができます。任意の型の値を指定することができます。配列内の最初のエレメントのインデックスまたは位置は、常に 0 です。
メモ: このクラスは、2 つのコンストラクタ項目を示しています。コンストラクタはさまざまなタイプの引数を受け入れるためです。コンストラクタの動作は、各項目で詳細を示すように、渡される引数の型と数によって異なります。ActionScript 3.0 はメソッドまたはコンストラクタのオーバーロードをサポートしていません。
パラメータ... values — 複数の任意の値で構成されるカンマ区切りリストです。
メモ :Array コンストラクタに数値パラメータを 1 つだけ渡した場合、そのパラメータは配列の |
RangeError — 引数は、0 以上の整数ではない数値です。
|
関連項目
one、two、および three を設定して、
エレメントをストリングに変換します。
package {
import flash.display.Sprite;
public class Array_Array_3 extends Sprite {
public function Array_Array_3() {
var myArr:Array = new Array("one", "two", "three");
trace(myArr.length); // 3
trace(myArr); // one,two,three
}
}
}
| concat | () | メソッド |
AS3 function concat(... args):Arrayパラメータで指定されたエレメントを配列内のエレメントと連結して、新しい配列を作成します。パラメータで配列を指定すると、その配列のエレメントが連結されます。
パラメータ... args — 新しい配列内で連結する任意のデータ型 (数値、エレメント、ストリングなど) の値です。値を渡さない場合、新しい配列は元の配列の複製になります。
|
Array —
この配列のエレメントの後にパラメータのエレメントが続く配列です。
|
numbers 配列。数値 1、2、および 3 が含まれています。 letters 配列。文字 a、b、および c が含まれています。 numbersAndLetters 配列。concat() メソッドを呼び出し、配列 [1,2,3,a,b,c] を作成します。 lettersAndNumbers 配列。concat() メソッドを呼び出し、配列 [a,b,c,1,2,3] を作成します。
var numbers:Array = new Array(1, 2, 3);
var letters:Array = new Array("a", "b", "c");
var numbersAndLetters:Array = numbers.concat(letters);
var lettersAndNumbers:Array = letters.concat(numbers);
trace(numbers); // 1,2,3
trace(letters); // a,b,c
trace(numbersAndLetters); // 1,2,3,a,b,c
trace(lettersAndNumbers); // a,b,c,1,2,3
| every | () | メソッド |
AS3 function every(callback:Function, thisObject:* = null):Boolean
指定された関数について false を返すアイテムに達するまで、配列内の各アイテムにテスト関数を実行します。このメソッドを使用して、配列内のすべてのアイテムがある基準 (値が特定の数値より小さいなど) を満たしているかどうかを判別できます。
このメソッドで、2 番目のパラメータ thisObject は、最初のパラメータ callback がメソッド閉包である場合、null でなければなりません。たとえば、me というムービークリップ内に、ある関数を作成するとします。
function myFunction(){
// ここにコードを記述
}
次に、myArray という配列に対して filter() メソッドを使用するとします。
myArray.filter(myFunction, me);
myFunction は Timeline クラスのメンバーであり、me によってオーバーライドできないため、Flash Player は例外をスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var foo:Function = myFunction() {
// ここにコードを記述
};
myArray.filter(foo, me);
パラメータ
callback:Function — 配列内の各アイテムについて実行する関数です。この関数には、単純な比較 (item < 20 など) やより複雑な演算を含めることができます。また、この関数は、次のように、アイテムの値、アイテムのインデックス、および Array オブジェクトの 3 つの引数を使用して呼び出されます。
function callback(item:*, index:int, array:Array):void; |
|
thisObject:* (default = null) — 関数の this として使用するオブジェクトです。
|
Boolean —
ブール値です。指定された関数について配列内のすべてのアイテムが true を返す場合は true、それ以外の場合は false を返します。
|
関連項目
isNumeric が最初の配列で true、2 番目の配列で false であることを示しています。
package {
import flash.display.Sprite;
public class Array_every extends Sprite {
public function Array_every() {
var arr1:Array = new Array(1, 2, 4);
var res1:Boolean = arr1.every(isNumeric);
trace("isNumeric:", res1); // true
var arr2:Array = new Array(1, 2, "ham");
var res2:Boolean = arr2.every(isNumeric);
trace("isNumeric:", res2); // false
}
private function isNumeric(element:*, index:int, arr:Array):Boolean {
return (element is Number);
}
}
}
| filter | () | メソッド |
AS3 function filter(callback:Function, thisObject:* = null):Array
配列内の各アイテムについてテスト関数を実行し、指定された関数について true を返すすべてのアイテムを含む新しい配列を作成します。false を返すアイテムは、新しい配列には含められません。
このメソッドで、2 番目のパラメータ thisObject は、最初のパラメータ callback がメソッド閉包である場合、null でなければなりません。たとえば、me というムービークリップ内に、ある関数を作成するとします。
function myFunction(){
// ここにコードを記述
}
次に、myArray という配列に対して filter() メソッドを使用するとします。
myArray.filter(myFunction, me);
myFunction は Timeline クラスのメンバーであり、me によってオーバーライドできないため、Flash Player は例外をスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var foo:Function = myFunction() {
// ここにコードを記述
};
myArray.filter(foo, me);
パラメータ
callback:Function — 配列内の各アイテムについて実行する関数です。この関数には、単純な比較 (item < 20 など) やより複雑な演算を含めることができます。また、この関数は、次のように、アイテムの値、アイテムのインデックス、および Array オブジェクトの 3 つの引数を使用して呼び出されます。
function callback(item:*, index:int, array:Array):void; |
|
thisObject:* (default = null) — 関数の this として使用するオブジェクトです。
|
Array —
元の配列内のアイテムで true を返したものをすべて含む新しい配列です。
|
関連項目
package {
import flash.display.Sprite;
public class Array_filter extends Sprite {
public function Array_filter() {
var employees:Array = new Array();
employees.push({name:"Employee 1", manager:false});
employees.push({name:"Employee 2", manager:true});
employees.push({name:"Employee 3", manager:false});
trace("Employees:");
employees.forEach(traceEmployee);
var managers:Array = employees.filter(isManager);
trace("Managers:");
managers.forEach(traceEmployee);
}
private function isManager(element:*, index:int, arr:Array):Boolean {
return (element.manager == true);
}
private function traceEmployee(element:*, index:int, arr:Array):void {
trace("\t" + element.name + ((element.manager) ? " (manager)" : ""));
}
}
}
| forEach | () | メソッド |
AS3 function forEach(callback:Function, thisObject:* = null):void配列内の各アイテムについて関数を実行します。
このメソッドで、2 番目のパラメータ thisObject は、最初のパラメータ callback がメソッド閉包である場合、null でなければなりません。たとえば、me というムービークリップ内に、ある関数を作成するとします。
function myFunction(){
// ここにコードを記述
}
次に、myArray という配列に対して filter() メソッドを使用するとします。
myArray.filter(myFunction, me);
myFunction は Timeline クラスのメンバーであり、me によってオーバーライドできないため、Flash Player は例外をスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var foo:Function = myFunction() {
// ここにコードを記述
};
myArray.filter(foo, me);
パラメータ
callback:Function — 配列内の各アイテムについて実行する関数です。この関数には、単純なコマンド (trace() ステートメントなど) やより複雑な演算を含めることができます。また、この関数は、次のように、アイテムの値、アイテムのインデックス、および Array オブジェクトの 3 つの引数を使用して呼び出されます。
function callback(item:*, index:int, array:Array):void; |
|
thisObject:* (default = null) — 関数の this として使用するオブジェクトです。
|
traceEmployee() 関数で、配列内の各アイテムについて trace() ステートメントを実行しています。
package {
import flash.display.Sprite;
public class Array_forEach extends Sprite {
public function Array_forEach() {
var employees:Array = new Array();
employees.push({name:"Employee 1", manager:false});
employees.push({name:"Employee 2", manager:true});
employees.push({name:"Employee 3", manager:false});
trace(employees);
employees.forEach(traceEmployee);
}
private function traceEmployee(element:*, index:int, arr:Array):void {
trace(element.name + " (" + element.manager + ")");
}
}
}
trace() ステートメントを実行していますが、ここで使用する traceEmployee() 関数には若干の変更が加えられています。
package {
import flash.display.Sprite;
public class Array_forEach_2 extends Sprite {
public function Array_forEach_2() {
var employeeXML:XML = <employees>
<employee name="Steven" manager="false" />
<employee name="Bruce" manager="true" />
<employee name="Rob" manager="false" />
</employees>;
var employeesList:XMLList = employeeXML.employee;
var employeesArray:Array = new Array();
for each (var tempXML:XML in employeesList) {
employeesArray.push(tempXML);
}
employeesArray.sortOn("@name");
employeesArray.forEach(traceEmployee);
}
private function traceEmployee(element:*, index:Number, arr:Array):void {
trace(element.@name + ((element.@manager == "true") ? " (manager)" : ""));
}
}
}
| indexOf | () | メソッド |
AS3 function indexOf(searchElement:*, fromIndex:int = 0):int
厳密な等価 (===) を使用して配列内のアイテムを検索し、アイテムのインデックス位置を返します。
searchElement:* — 配列内で検索するアイテムです。
|
|
fromIndex:int (default = 0) — アイテムの検索を開始する配列内の場所です。
|
int —
配列内のアイテムの 0 から始まるインデックス位置です。searchElement 引数が見つからなかった場合、戻り値は -1 です。
|
関連項目
package {
import flash.display.Sprite;
public class Array_indexOf extends Sprite {
public function Array_indexOf() {
var arr:Array = new Array(123,45,6789);
arr.push("123-45-6789");
arr.push("987-65-4321");
var index:int = arr.indexOf("123");
trace(index); // -1
var index2:int = arr.indexOf(123);
trace(index2); // 0
}
}
}
| join | () | メソッド |
AS3 function join(sep:*):String
配列内のエレメントをストリングに変換し、指定されたセパレータをエレメント間に挿入し、エレメントを連結して、その結果をストリングとして返します。ネストされた配列は、join() メソッドに渡されるセパレータで区切るのではなく、常にカンマ (,) で区切ります。
sep:* — 返されたストリング内の配列エレメントを区切る文字またはストリングです。このパラメータを省略すると、デフォルトのセパレータとしてカンマが使用されます。
|
String —
ストリングに変換された配列のエレメントで構成され、指定されたパラメータで区切られているストリングです。
|
関連項目
one、two、および three を持つ
Array オブジェクト myArr を作成します。次に、join() メソッドによって、
one and two and three を含むストリングを作成します。
var myArr:Array = new Array("one", "two", "three");
var myStr:String = myArr.join(" and ");
trace(myArr); // one,two,three
trace(myStr); // one and two and three
(、)、-、および空白文字を持つ Array オブジェクト specialChars を作成し、
(888) 867-5309 を含むストリングを作成します。
次に、for ループを使用して、specialChars にリストされている各型の特殊文字を削除して、
電話番号の数字の桁のみ (888675309) が残されたストリング (myStr) を作成します。
+ などの他の文字を specialChars に追加することもできるので、
このルーチンは国際電話番号の形式にも対応します。
var phoneString:String = "(888) 867-5309";
var specialChars:Array = new Array("(", ")", "-", " ");
var myStr:String = phoneString;
var ln:uint = specialChars.length;
for(var i:uint; i < ln; i++) {
myStr = myStr.split(specialChars[i]).join("");
}
var phoneNumber:Number = new Number(myStr);
trace(phoneString); // (888) 867-5309
trace(phoneNumber); // 8888675309
| lastIndexOf | () | メソッド |
AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int
配列内のアイテムを、最後のアイテムから先頭に向かって検索し、厳密な等価 (===) を使用して、一致したアイテムのインデックス位置を返します。
searchElement:* — 配列内で検索するアイテムです。
|
|
fromIndex:int (default = 0x7fffffff) — アイテムの検索を開始する配列内の場所です。デフォルトは、インデックスに許可されている最大値です。fromIndex を指定しない場合、配列内の最後のアイテムから検索が開始されます。
|
int —
配列内のアイテムの 0 から始まるインデックス位置です。searchElement 引数が見つからなかった場合、戻り値は -1 です。
|
関連項目
package {
import flash.display.Sprite;
public class Array_lastIndexOf extends Sprite {
public function Array_lastIndexOf() {
var arr:Array = new Array(123,45,6789,123,984,323,123,32);
var index:int = arr.indexOf(123);
trace(index); // 0
var index2:int = arr.lastIndexOf(123);
trace(index2); // 6
}
}
}
| map | () | メソッド |
AS3 function map(callback:Function, thisObject:* = null):Array配列内の各アイテムについて関数を実行し、元の配列の各アイテムに対する関数の結果に対応するアイテムから成る新しい配列を作成します。
このメソッドで、2 番目のパラメータ thisObject は、最初のパラメータ callback がメソッド閉包である場合、null でなければなりません。たとえば、me というムービークリップ内に、ある関数を作成するとします。
function myFunction(){
// ここにコードを記述
}
次に、myArray という配列に対して filter() メソッドを使用するとします。
myArray.filter(myFunction, me);
myFunction は Timeline クラスのメンバーであり、me によってオーバーライドできないため、Flash Player は例外をスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var foo:Function = myFunction() {
// ここにコードを記述
};
myArray.filter(foo, me);
パラメータ
callback:Function — 配列内の各アイテムについて実行する関数です。この関数には、単純なコマンド (ストリングの配列の大文字小文字の変更など) やより複雑な演算を含めることができます。また、この関数は、次のように、アイテムの値、アイテムのインデックス、および Array オブジェクトの 3 つの引数を使用して呼び出されます。
function callback(item:*, index:int, array:Array):void; |
|
thisObject:* (default = null) — 関数の this として使用するオブジェクトです。
|
Array —
元の配列内の各アイテムの関数の結果が含まれる新しい配列です。
|
関連項目
package {
import flash.display.Sprite;
public class Array_map extends Sprite {
public function Array_map() {
var arr:Array = new Array("one", "two", "Three");
trace(arr); // one,two,Three
var upperArr:Array = arr.map(toUpper);
trace(upperArr); // ONE,TWO,THREE
}
private function toUpper(element:*, index:int, arr:Array):String {
return String(element).toUpperCase();
}
}
}
| pop | () | メソッド |
AS3 function pop():Object配列の最後のエレメントを削除して、そのエレメントの値を返します。
戻り値Object —
指定した配列の最後のエレメント (任意のデータ型) の値です。
|
関連項目
a、b、および
c を持つ Array オブジェクト letters を作成します。次に、pop() メソッドによって、最後のエレメント (c) を配列から削除して、
String オブジェクト letter に割り当てます。
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
var letter:String = letters.pop();
trace(letters); // a,b
trace(letter); // c
| push | () | メソッド |
AS3 function push(... args):uintエレメントを配列の最後に追加して、追加後の配列の長さを返します。
パラメータ... args — 配列に追加される値です。
|
uint —
新しい配列の長さを表す整数です。
|
関連項目
letters を作成します。
次に、push() メソッドによって、この配列に
エレメント a、b、および c を設定します。
var letters:Array = new Array();
letters.push("a");
letters.push("b");
letters.push("c");
trace(letters.toString()); // a,b,c
letters を作成します。
このオブジェクトには、最初はエレメント a が設定されています。次に、
次に push() メソッドを一度使用して、エレメント b と c を配列の最後に追加します。
push 後は、この配列のエレメントは 3 つになります。
var letters:Array = new Array("a");
var count:uint = letters.push("b", "c");
trace(letters); // a,b,c
trace(count); // 3
| reverse | () | メソッド |
AS3 function reverse():Array配列の並びを反転させます。
戻り値Array —
新しい配列です。
|
a、b、および
c を持つ Array オブジェクト letters を作成します。次に、reverse() メソッドによって配列エレメントの順序を反転して、
配列 [c,b,a] を作成します。
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
letters.reverse();
trace(letters); // c,b,a
| shift | () | メソッド |
AS3 function shift():Object配列の最初のエレメントを削除して、そのエレメントを返します。残りの配列エレメントは、元の位置 i から i-1 に移動されます。
戻り値Object —
配列内の最初のエレメント (任意のデータ型) です。
|
関連項目
a、b、および
c を持つ Array オブジェクト letters を作成します。次に、shift() メソッドによって
最初のエレメント (a) を削除し、それをストリング firstLetter に割り当てます。
var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift();
trace(letters); // b,c
trace(firstLetter); // a
| slice | () | メソッド |
AS3 function slice(startIndex:int = 0, endIndex:int = -1):Array
元の配列から一連のエレメントを取り出して、新しい配列を返します。元の配列は変更されません。返される配列には、startIndex エレメントから endIndex エレメントまで (endIndex エレメント自体は除く) のすべてのエレメントが含まれます。
パラメータを何も渡さないと、元の配列の複製が作成されます。
パラメータstartIndex:int (default = 0) — スライスの始点のインデックスを示す数値です。start が負の数値の場合、始点は配列の末尾から開始します。つまり、-1 が最後のエレメントです。
|
|
endIndex:int (default = -1) — スライスの終点のインデックスを示す数値です。このパラメータを省略すると、スライスには配列の最初から最後までのすべてのエレメントが取り込まれます。end が負の数値の場合、終点は配列の末尾から開始します。つまり、-1 が最後のエレメントです。
|
Array —
元の配列から取り出した一連のエレメントから成る配列です。
|
[a,b,c,d,e,f] を持つ Array オブジェクト letters を作成します。
次に、エレメント 2 (c) について slice() メソッドを呼び出して、配列 someLetters を作成します。
配列 someLetters を作成します。
その結果作成される配列には、エレメント b と c が含まれます。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(1,3);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // b,c
[a,b,c,d,e,f] を持つ Array オブジェクト letters を作成します。
次に、エレメント 2 (c) について slice() メソッドを呼び出して、配列 someLetters を作成します。
その結果作成される配列には、次のエレメントが含まれます。
[c,d,e,f].
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(2);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // c,d,e,f
[a,b,c,d,e,f] を持つ Array オブジェクト letters を作成します。
次に、エレメント 2 (c) について slice() メソッドを呼び出して、配列 someLetters を作成します。
配列 someLetters を作成します。
その結果作成される配列には、エレメント e と f が含まれます。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(-2);
trace(letters); // a,b,c,d,e,f
trace(someLetters); // e,f
| some | () | メソッド |
AS3 function some(callback:Function, thisObject:* = null):Boolean
true を返すアイテムに達するまで、配列内の各アイテムにテスト関数を実行します。このメソッドを使用して、配列内のいずれのアイテムもある基準 (値が特定の数値より小さいなど) を満たしているかどうかを判別できます。
このメソッドで、2 番目のパラメータ thisObject は、最初のパラメータ callback がメソッド閉包である場合、null でなければなりません。たとえば、me というムービークリップ内に、ある関数を作成するとします。
function myFunction(){
// ここにコードを記述
}
次に、myArray という配列に対して filter() メソッドを使用するとします。
myArray.filter(myFunction, me);
myFunction は Timeline クラスのメンバーであり、me によってオーバーライドできないため、Flash Player は例外をスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var foo:Function = myFunction() {
// ここにコードを記述
};
myArray.filter(foo, me);
パラメータ
callback:Function — 配列内の各アイテムについて実行する関数です。この関数には、単純な比較 (item < 20 など) やより複雑な演算を含めることができます。また、この関数は、次のように、アイテムの値、アイテムのインデックス、および Array オブジェクトの 3 つの引数を使用して呼び出されます。
function callback(item:*, index:int, array:Array):void; |
|
thisObject:* (default = null) — 関数の this として使用するオブジェクトです。
|
Boolean —
ブール値です。指定された関数について配列内のいずれかのアイテムが true を返す場合は true、それ以外の場合は false を返します。
|
関連項目
package {
import flash.display.Sprite;
public class Array_some extends Sprite {
public function Array_some() {
var arr:Array = new Array();
arr[0] = "one";
arr[1] = "two";
arr[3] = "four";
var isUndef:Boolean = arr.some(isUndefined);
if (isUndef) {
trace("array contains undefined values: " + arr);
} else {
trace("array contains no undefined values.");
}
}
private function isUndefined(element:*, index:int, arr:Array):Boolean {
return (element == undefined);
}
}
}
| sort | () | メソッド |
AS3 function sort(... args):Array配列内のエレメントをソートします。このメソッドは、Unicode 値に基づいてソートを実行します。(ASCII は Unicode のサブセットです。)
デフォルトでは、Array.sort() は次のように動作します。
デフォルト設定とは別の設定を使用して配列をソートする場合は、...args パラメータ記述の sortOptions 部分に記述されているソートオプションのいずれかを使用するか、またはソート処理を行う独自のカスタム関数を作成できます。カスタム関数を作成する場合、sort() メソッドを呼び出して、カスタム関数の名前を最初の引数 (compareFunction) として使用します。
... args — 比較関数を指定する引数と、ソート動作を決定する値です。
このメソッドでは、
メモ : |
Array —
戻り値は、次に示すように、渡された引数によって異なります。
|
関連項目
[spinach, green pepper, Cilantro, Onion, and Avocado]
を持つ Array オブジェクト vegetables を作成します。次に、sort() メソッドを使用して配列をソートします。
メソッドの呼び出しにパラメータは使用しません。この結果、vegetables は
アルファベット順にソートされます ([avocado, cilantro, green pepper, onion, spinach])。
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
trace(vegetables); // spinach,green pepper,cilantro,onion,avocado
vegetables.sort();
trace(vegetables); // avocado,cilantro,green pepper,onion,spinach
[spinach, green pepper, Cilantro, Onion, and Avocado]
を持つ Array オブジェクト vegetables を作成します。次に、sort() メソッドを使用して配列をソートします。
メソッドを最初に呼び出すときにはパラメータは使用しません。その結果の配列は、
[Avocado,Cilantro,Onion,green pepper,spinach] となります。次に再び sort() を vegetables に対して呼び出すときには、
パラメータとして CASEINSENSITIVE を使用します。
その結果、vegetables は次のようにアルファベット順にソートされます。
([Avocado, Cilantro, green pepper, Onion, spinach]).
var vegetables:Array = new Array("spinach",
"green pepper",
"Cilantro",
"Onion",
"Avocado");
vegetables.sort();
trace(vegetables); // Avocado,Cilantro,Onion,green pepper,spinach
vegetables.sort(Array.CASEINSENSITIVE);
trace(vegetables); // Avocado,Cilantro,green pepper,Onion,spinach
vegetables を作成します。
次に、push() を 5 回呼び出すことによってこの配列に値を設定します。push() を呼び出すたびに、
新しい Vegetable オブジェクトが作成されます。
このコンストラクタは、String (name) オブジェクトと Number (price) オブジェクトを受け取ります。
次に示す値を使用して push() を 5 回呼び出すことによって、
配列 [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44] が作成されます。
sort() メソッドを使用してこの配列をソートします。その結果、配列は次のようになります。
[asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44].
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort();
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
//The following code defines the Vegetable class
class Vegetable {
private var name:String;
private var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function toString():String {
return " " + name + ":" + price;
}
}
sort() メソッドをカスタム・ソート関数
(sortOnPrice) と共に使用している点が異なります。このカスタム関数は、アルファベット順でなく価格に基づいてソートを行います。この
新しい関数 getPrice() では価格が抽出されます。
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort(sortOnPrice);
trace(vegetables);
// celery:1.29, squash:1.44, lettuce:1.49, spinach:1.89, asparagus:3.99
function sortOnPrice(a:Vegetable, b:Vegetable):Number {
var aPrice:Number = a.getPrice();
var bPrice:Number = b.getPrice();
if(aPrice > bPrice) {
return 1;
} else if(aPrice < bPrice) {
return -1;
} else {
//aPrice == bPrice
return 0;
}
}
// The following code defines the Vegetable class and should be in a separate package.
class Vegetable {
private var name:String;
private var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function getPrice():Number {
return price;
}
public function toString():String {
return " " + name + ":" + price;
}
}
[3,5,100,34,10] を持つ
Array オブジェクト numbers を作成します。パラメータを使用しないで sort() を呼び出すと、
アルファベット順にソートされるため、[10,100,3,34,5] という期待しない結果になります。数値を正しくソートするには、
sort() メソッドに定数 NUMERIC を渡す必要があります。
この結果、numbers は [3,5,10,34,100] のようにソートされます。
メモ: sort() 関数のデフォルトの動作では、各エンティティがストリングとして処理されます。
Array.NUMERIC 引数は、他のデータ型を実際に Number データ型に変換するわけではありません。
これは、単にソートアルゴリズムに数値を認識させるだけです。
var numbers:Array = new Array(3,5,100,34,10); trace(numbers); // 3,5,100,34,10 numbers.sort(); trace(numbers); // 10,100,3,34,5 numbers.sort(Array.NUMERIC); trace(numbers); // 3,5,10,34,100
| sortOn | () | メソッド |
AS3 function sortOn(fieldName:Object, options:Object = null):Array配列内のフィールド (複数のフィールドも可能) に基づいて、配列内のエレメントをソートします。配列は、次に示す特性を備えている必要があります。
fieldName パラメータを複数指定する場合、先頭のフィールドが第 1 ソートフィールド、2 番目のフィールドが第 2 ソートフィールド、(以下同様) と見なされます。ソートは Unicode 値に基づいて実行されます。(ASCII は Unicode のサブセットです。)fieldName パラメータで指定されたフィールドが、比較対象のいずれのエレメントにも含まれていない場合、そのフィールドは undefined に設定されていると見なされます。ソート済みの配列では、エレメントが連続的かつランダムに格納されます。
デフォルトでは、Array.sortOn() は次のように動作します。
Flash Player 7 では options パラメータが追加されました。このパラメータを使用すると、デフォルトのソート動作をオーバーライドすることができます。単純な配列 (たとえば、1 つのフィールドだけを持つ配列) をソートする場合、または options パラメータでサポートされていないソート順序を指定する場合、Array.sort() を使用します。
複数のフラグを渡すには、ビット単位の論理和 (OR)(|) 演算子で区切ります。
my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
Flash Player 8 では、複数のフィールドでソートを行う場合に、各フィールドに対して異なるソートオプションを指定する機能が追加されました。Flash Player 8 以降では、options パラメータはさまざまなソートオプションの配列を受け入れます。各ソートオプションは fieldName パラメータのソートフィールドに対応します。次の例では、第 1 ソートフィールド a を降順で、第 2 ソートフィールド b を数値ソートで、第 3 ソートフィールド c を大文字と小文字を区別しないでソートします。
Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
メモ :fieldName 配列と options 配列のエレメントは同数である必要があります。そうでない場合、options 配列は無視されます。また、Array.UNIQUESORT オプションと Array.RETURNINDEXEDARRAY オプションは、配列内の 1 番目のエレメントとしてのみ使用できます。そうでない場合、これらのオプションは無視されます。
fieldName:Object — ソート値として使用するフィールドを示すストリング、または、先頭のエレメントが第 1 ソートフィールド、2 番目が第 2 ソートフィールド (以下同様) を表す配列です。
|
|
options:Object (default = null) — bitwise OR (|) 演算子によって区切られ、ソート動作を変更する定義済み定数の数値または名前です。options パラメータには次の値を指定できます。
数値形式 (2) ではなく、ストリング形式のフラグ ( |
Array —
戻り値は、パラメータを渡したかどうかによって異なります。
|
関連項目
vegetables を作成します。
次に、push() を 5 回呼び出すことによって、この配列を設定します。push() を呼び出すたびに、
新しい Vegetable オブジェクトが作成されます。
このコンストラクタは、String (name) オブジェクトと Number (price) オブジェクトを受け取ります。
次に示す値を使用して push() を 5 回呼び出すことによって、
配列 [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44] が作成されます。
sortOn() メソッドを name パラメータと共に使用して、
配列 [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44] を作成します。
次に、price パラメータと NUMERIC および DESCENDING 定数を使用して sortOn() メソッドを
を再度呼び出すと、次のように降順でソートされた配列が作成されます。
[asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29].
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sortOn("name");
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
vegetables.sortOn("price", Array.NUMERIC | Array.DESCENDING);
trace(vegetables);
// asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29
class Vegetable {
public var name:String;
public var price:Number;
public function Vegetable(name:String, price:Number) {
this.name = name;
this.price = price;
}
public function toString():String {
return " " + name + ":" + price;
}
}
records を作成します。
次に、push() を 3 回呼び出すことによって、この配列を設定します。push() を呼び出すたびに、
ストリング name および city と zip 番号が
records に追加されます。配列エレメントの出力には 3 つの for ループが使用されています。
for ループでは、エレメントが追加された順に出力されます。2 番目の for
ループは、records をソートした後に実行されます。ソートは、sortOn() メソッドを使用して、まず name に基づいて行われ、
次に、都市 (city) に基づいて行われます。3 番目の for ループでは、別の出力が作成されます。これは、
records がまず city に基づいて行われ、次に name に基づいて行われるからです。
var records:Array = new Array();
records.push({name:"john", city:"omaha", zip:68144});
records.push({name:"john", city:"kansas city", zip:72345});
records.push({name:"bob", city:"omaha", zip:94010});
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, omaha
// john, kansas city
// bob, omaha
trace("records.sortOn('name', 'city');");
records.sortOn(["name", "city"]);
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// bob, omaha
// john, kansas city
// john, omaha
trace("records.sortOn('city', 'name');");
records.sortOn(["city", "name"]);
for(var i:uint = 0; i < records.length; i++) {
trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, kansas city
// bob, omaha
// john, omaha
users を作成します。
次に、push() を 4 回呼び出すことによって、この配列を設定します。push() を呼び出すたびに、
User オブジェクトが作成され、name ストリングと
age uint が users に追加されます。結果として、配列は次のように設定されます。
[Bob:3,barb:35,abcd:3,catchy:4].
次に、配列を次のようにソートします。
[Bob:3,abcd:3,barb:35,catchy:4] を作成CASEINSENSITIVE 定数を使用して、
配列 [abcd:3,barb:35,Bob:3,catchy:4] を作成CASEINSENSITIVE 定数と DESCENDING 定数を使用して、
配列 [catchy:4,Bob:3,barb:35,abcd:3] を作成[abcd:3,Bob:3,barb:35,catchy:4] を作成NUMERIC 定数を使用して、
配列 [Bob:3,abcd:3,catchy:4,barb:35] を作成DESCENDING 定数と NUMERIC 定数を使用して、
配列 [barb:35,catchy:4,Bob:3,abcd:3] を作成次に、indices という配列を作成し、
age に基づき、NUMERIC 定数と RETURNINDEXEDARRAY 定数を使用してソートを行い、その結果を割り当てます。
その結果、配列 [Bob:3,abcd:3,catchy:4,barb:35] が作成され、
for ループによって出力されます。
class User {
public var name:String;
public var age:Number;
public function User(name:String, age:uint) {
this.name = name;
this.age = age;
}
public function toString():String {
return this.name + ":" + this.age;
}
}
var users:Array = new Array();
users.push(new User("Bob", 3));
users.push(new User("barb", 35));
users.push(new User("abcd", 3));
users.push(new User("catchy", 4));
trace(users); // Bob:3,barb:35,abcd:3,catchy:4
users.sortOn("name");
trace(users); // Bob:3,abcd:3,barb:35,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE);
trace(users); // abcd:3,barb:35,Bob:3,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE | Array.DESCENDING);
trace(users); // catchy:4,Bob:3,barb:35,abcd:3
users.sortOn("age");
trace(users); // abcd:3,Bob:3,barb:35,catchy:4
users.sortOn("age", Array.NUMERIC);
trace(users); // Bob:3,abcd:3,catchy:4,barb:35
users.sortOn("age", Array.DESCENDING | Array.NUMERIC);
trace(users); // barb:35,catchy:4,Bob:3,abcd:3
var indices:Array = users.sortOn("age", Array.NUMERIC | Array.RETURNINDEXEDARRAY);
var index:uint;
for(var i:uint = 0; i < indices.length; i++) {
index = indices[i];
trace(users[index].name, ": " + users[index].age);
}
// Results:
// Bob : 3
// abcd : 3
// catchy : 4
// barb : 35
| splice | () | メソッド |
AS3 function splice(startIndex:int, deleteCount:uint, ... values):Array配列のエレメントを追加および削除します。このメソッドは、コピーを作成しないで、配列を変更します。
メモ: Array のサブクラス内でこのメソッドをオーバーライドするには、次の例に示すように、パラメータに ...args を使用します。
public override function splice(...args) {
// ここにステートメントを記述
}
パラメータ
startIndex:int — 挿入または削除を開始する配列エレメントのインデックスを示す整数です。負の整数を使用すると、配列の末尾を基準として位置を指定できます。たとえば、-1 は配列の最後のエレメントです。
|
|
deleteCount:uint — 削除するエレメント数を示す整数です。この数には、startIndex パラメータで指定するエレメントが含まれます。deleteCount パラメータに値を指定しないと、startIndex パラメータで指定した配列エレメントから最後の配列エレメントまでの値がすべて削除されます。値として 0 を指定すると、エレメントは削除されません。
|
|
... values — startIndex パラメータで指定した配列内の位置に挿入するカンマ区切り値または配列のオプションリストです。
|
Array —
元の配列から削除されたエレメントを含む配列です。
|
[spinach, green pepper, cilantro, onion, avocado]を持つ Array オブジェクト vegetables を作成します。次に、 splice()
メソッドを、パラメータ 2 と 2 を使用して呼び出します。
これにより、cilantro と onion は spliced 配列に割り当てられます。
vegetables 配列には [spinach,green pepper,avocado] が含まれます。
splice() メソッドを、パラメータ 1 と 0、および
spliced 配列を使用して
再度呼び出し、[spinach,cilantro,onion,green pepper,avocado] を vegetables に割り当てます。
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced); // cilantro,onion
vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
| toLocaleString | () | メソッド |
public function toLocaleString():String
指定された配列内のエレメントを表すストリングを返します。インデックス 0 から最大インデックスまでの配列内のすべてのエレメントを、カンマで区切られた連結ストリングに変換して返します。ActionScript 3.0 実装において、このメソッドは、Array.toString() と同じ値を返します。
String —
配列エレメントのストリングです。
|
関連項目
| toString | () | メソッド |
public function toString():String
指定された配列内のエレメントを表すストリングを返します。インデックス 0 から最大インデックスまでの配列内のすべてのエレメントを、カンマで区切られた連結ストリングに変換して返します。カスタムセパレータを指定するには、Array.join() メソッドを使用します。
String —
配列エレメントのストリングです。
|
関連項目
vegnums 変数に格納します。
var vegetables:Array = new Array(); vegetables.push(1); vegetables.push(2); vegetables.push(3); vegetables.push(4); vegetables.push(5); var vegnums:String = vegetables.toString(); trace(vegnums+",6"); // 1,2,3,4,5,6
| unshift | () | メソッド |
AS3 function unshift(... args):uintエレメントを配列の先頭に追加して、配列の新しい長さを返します。配列内の他のエレメントは、元の位置 i から i-1 に移動されます。
パラメータ... args — 配列の先頭に挿入される数値、エレメント、または変数です。
|
uint —
配列の新しい長さを表す整数です。
|
関連項目
names を作成します。
push() メソッドを使用して、ストリング Bill と Jeff を追加します。
次に、unshift() メソッドを 2 回呼び出して、ストリング Alfred と Kyle を
names の先頭に追加します。
var names:Array = new Array();
names.push("Bill");
names.push("Jeff");
trace(names); // Bill,Jeff
names.unshift("Alfred");
names.unshift("Kyle");
trace(names); // Kyle,Alfred,Bill,Jeff
| CASEINSENSITIVE | 定数 |
public static const CASEINSENSITIVE:uint = 1
Array クラスのソートメソッドに対して、大文字と小文字を区別しないソートを指定します。この定数は、sort() メソッドまたは sortOn() メソッドの options パラメータに使用できます。
この定数の値は 1 です。
関連項目
| DESCENDING | 定数 |
public static const DESCENDING:uint = 2
Array クラスのソートメソッドに対して、降順でのソートを指定します。この定数は、sort() メソッドまたは sortOn() メソッドの options パラメータに使用できます。
この定数の値は 2 です。
関連項目
| NUMERIC | 定数 |
public static const NUMERIC:uint = 16
Array クラスのソートメソッドに対して、文字ストリングではなく数値によるソートを指定します。この定数を options パラメータに設定すると、sort() メソッドと sortOn() メソッドは、数字を文字ストリングとしてではなく、数値としてソートします。NUMERIC 定数を設定しないでソートを実行すると、各配列エレメントは文字ストリングとして処理され、Unicode 順でソートされます。
たとえば、値 [2005, 7, 35] の配列で、options パラメータに NUMERIC 定数を設定しない場合、ソート後の配列は [2005, 35, 7] となります。一方、NUMERIC 定数を設定した場合、ソート後の配列は [7, 35, 2005] となります。
この定数は、配列内の数値に対してのみ適用されます。["23", "5"] などの、数値データを含むストリングには適用されません。
この定数の値は 16 です。
関連項目
| RETURNINDEXEDARRAY | 定数 |
public static const RETURNINDEXEDARRAY:uint = 8
ソート結果として、配列インデックスで構成される配列を返すことを指定します。sort() メソッドまたは sortOn() メソッドの options パラメータにこの定数を使用すると、元の配列を変更せずに、配列エレメントの複数のビューにアクセスすることができます。
この定数の値は 8 です。
関連項目
| UNIQUESORT | 定数 |
public static const UNIQUESORT:uint = 4
Array クラスのソートメソッドに対して、一意性ソート要件を指定します。この定数は、sort() メソッドまたは sortOn() メソッドの options パラメータに使用できます。一意性ソートオプションを指定すると、ソート対象の任意の 2 つのエレメントまたはフィールドが同じ値である場合に、ソートが終了します。
この定数の値は 4 です。
関連項目
myArr を、
引数なし、初期の長さ 0 で作成します。
package {
import flash.display.Sprite;
public class ArrayExample extends Sprite {
public function ArrayExample() {
var myArr:Array = new Array();
trace(myArr.length); // 0
}
}
}