パッケージ | トップレベル |
クラス | public dynamic class Vector |
継承 | Vector Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
配列の場合と同様に、配列アクセス演算子([]
)を使用すると、ベクターエレメントの値を設定または取得できます。また、いくつかのベクターのメソッドは、エレメントの値を設定および取得するためのメカニズムを備えています。これらのメソッドには、push()
、pop()
、shift()
、unshift()
などがあります。Vector オブジェクトのプロパティとメソッドは、配列のプロパティとメソッドと似ており、ほとんどの場合は同じです。すべてのエレメントが同じデータ型を持つ配列を使用する場合には、通常は Vector インスタンスが推奨されます。ただし、Vector インスタンスは密な配列であり、インデックスごとに値(または null
)を持つ必要があります。Array インスタンスにはこの制限はありません。
ベクターのベース型は、後置型パラメーターシンタックスを使用して指定されます。型パラメーターシンタックスは、ドット(.
)、左山括弧(<
)、クラス名、右山括弧(>
)で構成されるシーケンスです。次に例を示します。
この例の最初の行では、変数 v
が Vector.<String> インスタンスとして宣言されます。 つまり、この行は String インスタンスのみ保持することができ、String インスタンスのみ取得できるベクター(配列)を表します。2 番目の行は、同じ Vector 型(つまり、エレメントがすべて String オブジェクトであるベクター)のインスタンスを構築し、v
に割り当てます。
var v:Vector.<String>; v = new Vector.<String>();
Vector.<T> データ型によって宣言された変数は、同じベース型 T
を使用して構築された Vector インスタンスのみ格納することができます。例えば、新しい Vector.<String>()
を呼び出すことによって構築されたベクターは、Vector.<int> データ型によって宣言された変数に割り当てることはできません。ベース型は完全に一致する必要があります。例えば、次のコードは、オブジェクトのベース型が宣言された変数のベース型と同じでないため(Sprite が DisplayObject のサブクラスであっても)コンパイルされません。
// This code doesn't compile even though Sprite is a DisplayObject subclass var v:Vector.<DisplayObject> = new Vector.<Sprite>();
ベース型 T
を持つベクターを T
のスーパークラスのベクターに変換するには、Vector()
グローバル関数を使用します。
データ型の制限に加えて、Vector クラスには Array クラスと区別される次のようなその他の制限があります。
- ベクターは高密度の配列です。位置 1 ~ 6 に値がない場合でもインデックス 0 と 7 に値を指定することができる配列とは異なり、ベクターでは各インデックスに値(または
null
)を指定する必要があります。 - ベクターは、オプションで固定長、つまり含まれるエレメントの数を変更できないように設定できます。
- ベクターのエレメントへのアクセスは範囲チェックが行われます。最後のエレメント(
length - 1
)より長いインデックスから値を読み取ることはできません。現在の最後のインデックスを越えて値を設定することはできません(つまり、既存のインデックスまたはインデックス[length]
でのみ値を設定することができます)。
このような制限の結果として、Vector インスタンスには、エレメントがすべて単一クラスのインスタンスとなる Array インスタンスにはない、次の 3 つの主要な利点があります。
- パフォーマンス:Array インスタンスを使用するよりも、Vector インスタンスを使用する方が、配列エレメントのアクセスと繰り返しが高速になります。
- 型の安全性:strict モードでは、コンパイラーでデータ型エラーを特定できます。このようなデータ型エラーの例としては、ベクターに不正なデータ型の値を割り当てたり、ベクターから値を読み取るときに誤ったデータ型を要求したりすることが挙げられます。ただし、
push()
メソッドまたはunshift()
メソッドを使用してベクターに値を追加する場合、引数のデータ型はコンパイル時にチェックされないことに注意してください。その代わりに、実行時にチェックされます。 - 信頼性:実行時範囲チェック(固定長チェック)は、Array に対する信頼性を著しく高めます。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
fixed : Boolean
ベクターの length プロパティを変更できるかどうかを指定します。 | Vector | ||
length : uint
ベクター内で使用できる有効なインデックスの範囲です。 | Vector |
メソッド | 定義元 | ||
---|---|---|---|
指定されたベース型を持つベクターを作成します。 | Vector | ||
パラメーターリストで指定されたベクターをこのベクター内のエレメントと連結して、新しいベクターを作成します。 | Vector | ||
指定された関数について false を返すアイテムに達するまで、ベクター内の各アイテムにテスト関数を実行します。 | Vector | ||
ベクター内の各アイテムについてテスト関数を実行し、指定された関数について true を返すすべてのアイテムを含む新しいベクターを返します。 | Vector | ||
ベクター内の各アイテムについて関数を実行します。 | Vector | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
ベクター内のアイテムを検索し、アイテムのインデックス位置を返します。 | Vector | ||
単一のエレメントをベクターに挿入します。 | Vector | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
ベクター内のエレメントをストリングに変換し、指定されたセパレーターをエレメント間に挿入し、エレメントを連結して、その結果をストリングとして返します。 | Vector | ||
ベクター内のアイテムを、指定されたインデックス位置から後方に向かって検索し、一致したアイテムのインデックス位置を返します。 | Vector | ||
ベクター内の各アイテムについて関数を実行し、このベクター内の各アイテムに対する関数の呼び出しの結果に対応するアイテムの新しいベクターを返します。 | Vector | ||
pop():T
ベクターの最後のエレメントを削除して、そのエレメントを返します。 | Vector | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
エレメントをベクターの最後に追加して、ベクターの新しい長さを返します。 | Vector | ||
単一のエレメントをベクターから削除します。 | Vector | ||
ベクター内のエレメントの順序を反転します。 | Vector | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
shift():T
ベクターの最初のエレメントを削除して、そのエレメントを返します。 | Vector | ||
元のベクターから一連のエレメントを取り出して、新しいベクターを返します。元のベクターは変更されません。 | Vector | ||
true を返すアイテムに達するまで、ベクター内の各アイテムにテスト関数を実行します。 | Vector | ||
Vector オブジェクト内のエレメントをソートし、ソートされた Vector オブジェクトを返します。 | Vector | ||
ベクターのエレメントを追加および削除します。 | Vector | ||
指定されたベクター内のエレメントを表すストリングを返します。 | Vector | ||
ベクター内のエレメントを表すストリングを返します。 | Vector | ||
エレメントをベクターの先頭に追加して、ベクターの新しい長さを返します。 | Vector | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
fixed | プロパティ |
fixed:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクターの length
プロパティを変更できるかどうかを指定します。値が true
の場合、length
プロパティは変更できません。これは、fixed
が true
の場合、次の操作は行うことができないことを意味します。
length
プロパティの直接的な設定- インデックス位置
length
への値の割り当て length
プロパティを変更する以下のメソッドの呼び出しpop()
push()
Shift()
unshift()
splice()
(splice()
呼び出しがベクターのlength
を変更する場合)
実装
public function get fixed():Boolean
public function set fixed(value:Boolean):void
length | プロパティ |
length:uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクター内で使用できる有効なインデックスの範囲です。Vector インスタンスは、length
値(ただし、最大値は除く)までのインデックス位置を持ちます。
ずべてのベクターエレメントは、常にベース型のインスタンスまたは null
のいずれかの値を持ちます。length
プロパティが前の値より大きい値に設定されている場合、追加のエレメントが作成され、ベース型に適したデフォルト値(参照型の場合は null
)が設定されます。
length
プロパティが前の値より小さい値に設定されている場合、新しい length
値以上のインデックス位置にあるすべてのエレメントがベクターから削除されます。
実装
public function get length():uint
public function set length(value:uint):void
例外
RangeError — fixed が true のときにこのプロパティが変更された場合。
| |
RangeError — このプロパティが、許容される最大インデックス(232)より大きい値に設定された場合。
|
Vector | () | コンストラクター |
public function Vector(length:uint = 0, fixed:Boolean = false)
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたベース型を持つベクターを作成します。
Vector.<T>()
コンストラクターを呼び出すときに、型パラメーターシンタックスを使用してベース型を指定します。型パラメーターシンタックスは、ドット(.
)、左山括弧(<
)、クラス名、右山括弧(>
)で構成されるシーケンスです。次に例を示します。
var v:Vector.<String> = new Vector.<String>();
配列または他のベクター(異なるベース型を持つベクターなど)から Vector インスタンスを作成するには、Vector()
グローバル関数を使用します。
事前に値が設定された Vector インスタンスを作成するには、後述するパラメーターではなく、次のシンタックスを使用します。
// var v:Vector.<T> = new <T>[E0, ..., En-1 ,]; // For example: var v:Vector.<int> = new <int>[0,1,2,];
このシンタックスには、次の情報が適用されます。
- このシンタックスは、Flash Professional CS5 以降、Flash Builder 4 以降および Flex 4 以降でサポートされます。
- 末尾のカンマは省略してもかまいません。
- 配列内の空白のアイテムはサポートされていません。
var v:Vector.<int> = new <int>[0,,2,]
のようなステートメントは、コンパイラーエラーをスローします。 - Vector インスタンスのデフォルトの長さは指定できません。指定はできませんが、デフォルトの長さは初期化リスト内のエレメントの数と同じになります。
- Vector インスタンスを固定長にするかどうかは指定できません。代わりに、
fixed
プロパティを使用します。 - 値として渡されたアイテムが指定した型と一致しない場合、データの損失またはエラーが発生する可能性があります。次に実際の使用例を示します。
var v:Vector.<int> = new <int>[4.2]; // compiler error when running in strict mode trace(v[0]); //returns 4 when not running in strict mode
length:uint (default = 0 ) — ベクターの初期長さ(エレメント数)です。このパラメーターが 0 より大きい場合、指定された数のベクターエレメントが作成され、ベース型に適したデフォルト値が設定されます(参照型の場合、null )。
| |
fixed:Boolean (default = false ) — ベクターの長さが固定されるか(true )、または変更できるか(false )を指定します。この値は fixed プロパティを使用して設定することもできます。
|
関連する API エレメント
concat | () | メソッド |
AS3 function concat(... args):Vector.<T>
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
パラメーターリストで指定されたベクターをこのベクター内のエレメントと連結して、新しいベクターを作成します。パラメーターリストのベクターのベース型またはサブタイプは、このベクターと同じものである必要があります。パラメーターを渡さない場合、返されるベクターは元のベクターの複製(浅い複製)になります。
パラメーター
... args — このベクターのベース型またはサブタイプのベクター(0 個以上)。
|
Vector.<T> — このベクターのエレメントに続いてパラメーターリストのベクターのエレメントが含まれる、このベクターと同じベース型を持つベクター。
|
例外
TypeError — 引数がベース型のベクターでない場合、またはベース型のベクターに変換できない場合。
|
every | () | メソッド |
AS3 function every(callback:Function, thisObject:Object = null):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定された関数について false
を返すアイテムに達するまで、ベクター内の各アイテムにテスト関数を実行します。 このメソッドを使用して、ベクター内のすべてのアイテムがある基準(値が特定の数値より小さいなど)を満たしているかどうかを判別できます。
このメソッドで、2 番目のパラメーター thisObject
は、null
でなければなりません(最初のパラメーター callback
がメソッド閉包である場合)。これは、このメソッドの最も一般的な使用方法です。
ただし、Flash Professional を使用して、メインタイムライン上のフレームで関数を作成し、それを異なる this
コンテキストで呼び出す必要があるとします。
function myFunction(item:T, index:int, vector:Vector.<T>):Boolean { // your code here }
次に、every()
メソッドを、myVector
というベクターに対して使用するとします。
myVector.every(myFunction, someObject);
myFunction
は SWF ファイルのメインクラスのメンバーなので、異なる this
コンテキストでは実行できません。このコードを実行すると、Flash ランタイムはエラーをスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):Boolean { //your code here }; myVector.every(myFunction, someObject);
パラメーター
callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):Boolean { // your code here } コールバック関数はブール値を返します。 | |
thisObject:Object (default = null ) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
Boolean — ブール値です。指定された関数について、ベクター内のいずれかのアイテムが true を返す場合は true を返します。それ以外の場合は false を返します。
|
関連する API エレメント
filter | () | メソッド |
AS3 function filter(callback:Function, thisObject:Object = null):Vector.<T>
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクター内の各アイテムについてテスト関数を実行し、指定された関数について true
を返すすべてのアイテムを含む新しいベクターを返します。false
を返すアイテムは、結果ベクターに含められません。戻りベクターのベース型はメソッドが呼び出されるベクターのベース型と一致します。
このメソッドで、2 番目のパラメーター thisObject
は、null
でなければなりません(最初のパラメーター callback
がメソッド閉包である場合)。これは、このメソッドの最も一般的な使用方法です。
ただし、Flash Professional を使用して、メインタイムライン上のフレームで関数を作成し、それを異なる this
コンテキストで呼び出す必要があるとします。
function myFunction(item:T, index:int, vector:Vector.<T>):Boolean { // your code here }
次に、filter()
メソッドを、myVector
というベクターに対して使用するとします。
var result:Vector.<T> = myVector.filter(myFunction, someObject);
myFunction
は SWF ファイルのメインクラスのメンバーなので、異なる this
コンテキストでは実行できません。このコードを実行すると、Flash ランタイムはエラーをスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):Boolean { //your code here }; myVector.filter(myFunction, someObject);
パラメーター
callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):Boolean; | |
thisObject:Object (default = null ) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
Vector.<T> — 元のベクター内のアイテムで callback 関数が true を返したものをすべて含む新しいベクター。
|
関連する API エレメント
forEach | () | メソッド |
AS3 function forEach(callback:Function, thisObject:Object = null):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクター内の各アイテムについて関数を実行します。
このメソッドで、2 番目のパラメーター thisObject
は、null
でなければなりません(最初のパラメーター callback
がメソッド閉包である場合)。これは、このメソッドの最も一般的な使用方法です。
ただし、Flash Professional を使用して、メインタイムライン上のフレームで関数を作成し、それを異なる this
コンテキストで呼び出す必要があるとします。
function myFunction(item:T, index:int, vector:Vector.<T>):void { // your code here }
次に、forEach()
メソッドを、myVector
というベクターに対して使用するとします。
myVector.forEach(myFunction, someObject);
myFunction
は SWF ファイルのメインクラスのメンバーなので、異なる this
コンテキストでは実行できません。このコードを実行すると、Flash ランタイムはエラーをスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):void { //your code here }; myVector.forEach(myFunction, someObject);
パラメーター
callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):void; 関数呼び出しの戻り値は破棄されます。 | |
thisObject:Object (default = null ) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
indexOf | () | メソッド |
AS3 function indexOf(searchElement:T, fromIndex:int = 0):int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクター内のアイテムを検索し、アイテムのインデックス位置を返します。アイテムは、厳密な等価(===
)を使用してベクターエレメントと比較されます。
パラメーター
searchElement:T — ベクター内で検索するアイテムです。
| |
fromIndex:int (default = 0 ) — アイテムの検索を開始するベクター内の場所です。このパラメーターが負の場合、length + fromIndex として扱われます。つまり、検索は最後の -fromIndex アイテムから開始し、その位置から前方に向かってベクターの最後まで検索します。
|
int — ベクター内のアイテムの 0 から始まるインデックス位置です。searchElement 引数が見つからなかった場合、戻り値は -1 です。
|
関連する API エレメント
insertAt | () | メソッド |
AS3 function insertAt(index:int, element:T):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 19, AIR 19 |
単一のエレメントをベクターに挿入します。このメソッドは、コピーを作成しないで、ベクターを変更します。
パラメーター
index:int — エレメントを挿入するベクター内の位置を示す整数です。負の整数を使用すると、ベクターの末尾を基準として位置を指定できます。例えば、-1 はベクターの最後のエレメントです。
| |
element:T |
例外
RangeError — fixed が true のときにこのメソッドが呼び出された場合。
|
join | () | メソッド |
AS3 function join(sep:String = ","):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクター内のエレメントをストリングに変換し、指定されたセパレーターをエレメント間に挿入し、エレメントを連結して、その結果をストリングとして返します。ネストされたベクターは、join()
メソッドに渡されるセパレーターで区切るのではなく、常にカンマ(,)で区切ります。
パラメーター
sep:String (default = ", ") — 返されたストリング内のベクターエレメントを区切る文字またはストリングです。このパラメーターを省略すると、デフォルトのセパレーターとしてカンマが使用されます。
|
String — ストリングに変換されたベクターのエレメントで構成され、指定されたストリングで区切られているストリングです。
|
関連する API エレメント
lastIndexOf | () | メソッド |
AS3 function lastIndexOf(searchElement:T, fromIndex:int = 0x7fffffff):int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクター内のアイテムを、指定されたインデックス位置から後方に向かって検索し、一致したアイテムのインデックス位置を返します。アイテムは、厳密な等価(===
)を使用してベクターエレメントと比較されます。
パラメーター
searchElement:T — ベクター内で検索するアイテムです。
| |
fromIndex:int (default = 0x7fffffff ) — アイテムの検索を開始するベクター内の場所です。デフォルトは、許容される最大インデックス値です。つまり、検索はベクター内の最後のアイテムから開始されます。
このパラメーターが負の場合、 |
int — ベクター内のアイテムの 0 から始まるインデックス位置です。searchElement 引数が見つからなかった場合、戻り値は -1 です。
|
関連する API エレメント
map | () | メソッド |
AS3 function map(callback:Function, thisObject:Object = null):Vector.<T>
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクター内の各アイテムについて関数を実行し、このベクター内の各アイテムに対する関数の呼び出しの結果に対応するアイテムの新しいベクターを返します。結果ベクターには、元のベクターと同じベース型と length
が指定されます。結果ベクターのインデックス i
のエレメントは、元のベクターのインデックス i
のエレメントでの呼び出しの結果です。
このメソッドで、2 番目のパラメーター thisObject
は、null
でなければなりません(最初のパラメーター callback
がメソッド閉包である場合)。これは、このメソッドの最も一般的な使用方法です。
ただし、Flash Professional を使用して、メインタイムライン上のフレームで関数を作成し、それを異なる this
コンテキストで呼び出す必要があるとします。
function myFunction(item:Object, index:int, vector:Vector.<T>):T { // your code here }
次に、map()
メソッドを、myVector
というベクターに対して使用するとします。
myVector.map(myFunction, someObject);
myFunction
は SWF ファイルのメインクラスのメンバーなので、異なる this
コンテキストでは実行できません。このコードを実行すると、Flash ランタイムはエラーをスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):void { //your code here }; myVector.map(myFunction, someObject);
パラメーター
callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):T; | |
thisObject:Object (default = null ) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
Vector.<T> — ベクター内の各アイテムに対する関数の呼び出しの結果が含まれる新しいベクターです。結果ベクターには、元のベクターと同じベース型と length が指定されます。
|
関連する API エレメント
pop | () | メソッド |
AS3 function pop():T
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクターの最後のエレメントを削除して、そのエレメントを返します。この関数が呼び出されるときに、ベクターの length
プロパティは 1 つ減少します。
T — 指定されたベクターの最後のエレメントの値です。
|
例外
RangeError — fixed が true のときにこのメソッドが呼び出された場合。
|
関連する API エレメント
push | () | メソッド |
AS3 function push(... args):uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
エレメントをベクターの最後に追加して、ベクターの新しい長さを返します。
この関数は複数の引数を受け入れることができるので、Strict モードの場合でも、コンパイル時に引数のデータ型はチェックされません。ただし、ベース型のインスタンスではない引数が渡されると、実行時に例外が発生します。
パラメーター
... args — ベクターに追加される値です。
|
uint — 新しいエレメントが追加された後のベクターの長さです。
|
例外
TypeError — 引数がベクターのベース型 T のインスタンスではない場合。
| |
RangeError — fixed が true のときにこのメソッドが呼び出された場合。
|
関連する API エレメント
removeAt | () | メソッド |
AS3 function removeAt(index:int):T
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 19, AIR 19 |
単一のエレメントをベクターから削除します。このメソッドは、コピーを作成しないで、ベクターを変更します。
パラメーター
index:int — 削除するベクター内のエレメントのインデックスを示す整数です。負の整数を使用すると、ベクターの末尾を基準として位置を指定できます。例えば、-1 はベクターの最後のエレメントです。
|
T — 元のベクターから削除されたエレメントです。
|
例外
RangeError — index 引数がベクターの境界外にあるインデックスを削除するように指定する場合。
| |
RangeError — fixed が true のときにこのメソッドが呼び出された場合。
|
reverse | () | メソッド |
shift | () | メソッド |
AS3 function shift():T
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクターの最初のエレメントを削除して、そのエレメントを返します。残りのベクターエレメントは、元の位置 i から i - 1 に移動されます。
戻り値T — ベクター内の最初のエレメント。
|
例外
RangeError — fixed が true の場合。
|
関連する API エレメント
slice | () | メソッド |
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Vector.<T>
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
元のベクターから一連のエレメントを取り出して、新しいベクターを返します。元のベクターは変更されません。返されるベクターには、startIndex
エレメントから endIndex
の前のエレメントまでのすべてのエレメントが含まれます。
パラメーターを渡さない場合、新しいベクターは元のベクターの複製(浅い複製)になります。両方のパラメーターに 0 を渡すと、元のベクターと同じ型の新しい空のベクターが作成されます。
パラメーター
startIndex:int (default = 0 ) — スライスの始点のインデックスを示す数値です。startIndex が負の数値の場合、始点はベクターの末尾から開始します。つまり、-1 が最後のエレメントです。
| |
endIndex:int (default = 16777215 ) — スライスの終点のインデックスを示す数値です。 このパラメーターを省略すると、スライスにはベクターの最初から最後までのすべてのエレメントが取り込まれます。endIndex が負の数値の場合、終点はベクターの末尾から開始します。つまり、-1 が最後のエレメントです。
|
Vector.<T> — 元のベクターから取り出した一連のエレメントから成るベクターです。
|
some | () | メソッド |
AS3 function some(callback:Function, thisObject:Object = null):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
true
を返すアイテムに達するまで、ベクター内の各アイテムにテスト関数を実行します。このメソッドを使用して、ベクター内のいずれのアイテムもある基準(値が特定の数値より小さいなど)を満たしているかどうかを判別できます。
このメソッドで、2 番目のパラメーター thisObject
は、null
でなければなりません(最初のパラメーター callback
がメソッド閉包である場合)。これは、このメソッドの最も一般的な使用方法です。
ただし、メインタイムライン上のフレームで関数を作成するが、異なる this
コンテキストで呼び出す必要があるとします。
function myFunction(item:Object, index:int, vector:Vector.<T>):Boolean { // your code here }
次に、some()
メソッドを、myVector
というベクターに対して使用するとします。
myVector.some(myFunction, someObject);
myFunction
は SWF ファイルのメインクラスのメンバーなので、異なる this
コンテキストでは実行できません。このコードを実行すると、Flash ランタイムはエラーをスローします。このランタイムエラーは、次のように関数を変数に割り当てることによって回避できます。
var myFunction:Function = function(item:T, index:int, vector:Vector.<T>):Boolean { //your code here }; myVector.some(myFunction, someObject);
パラメーター
callback:Function — ベクター内の各アイテムについて実行する関数です。この関数は、ベクターの現在のアイテム、アイテムのインデックス、および Vector オブジェクトの 3 つの引数によって呼び出されます。
function callback(item:T, index:int, vector:Vector.<T>):Boolean コールバック関数はブール値を返します。 | |
thisObject:Object (default = null ) — 関数が呼び出されるときにコールバック関数の識別子 this が参照するオブジェクトです。
|
Boolean — ブール値です。指定された関数についてベクター内のいずれかのアイテムが true を返す場合は true を返します。それ以外の場合は false を返します。
|
関連する API エレメント
sort | () | メソッド |
AS3 function sort(sortBehavior:*):Vector.<T>
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector オブジェクト内のエレメントをソートし、ソートされた Vector オブジェクトを返します。このメソッドは、パラメーター sortBehavior
(2 つの値を比較する関数またはソートオプションのセット)に従ってソートします。
このメソッドは 1 つのパラメーターを取ります。パラメーターは、次のいずれかになります。
- Vector のベース型(
T
)の引数を 2 つ取り、Number を返す関数。function compare(x:T, y:T):Number {}
関数のロジックにより、2 つのエレメント
x
とy
が指定された場合、この関数は次の 3 つの値のいずれかを返します。x
がy
の前に表示されるソート順の場合は負の数。x
とy
が等しい場合は 0。x
がy
の後に表示されるソート順の場合は正の数。
- 次の値のビット単位の論理和(OR)となる数値です。
- 1 または
Array.CASEINSENSITIVE
- 2 または
Array.DESCENDING
- 4 または
Array.UNIQUESORT
- 8 または
Array.RETURNINDEXEDARRAY
- 16 または
Array.NUMERIC
値が 0 の場合、ソートは以下の方法で実行されます。
- ソートでは大文字と小文字が区別されます。Z は a よりも先になります。
- 昇順にソートされます。a は b よりも先になります。
- 配列はソート順を反映するように変更されます。同じソートフィールドを持つ複数のエレメントは、ソート済みの配列の中で連続的かつランダムに格納されます。
- データ型に関係なく、すべてのエレメントがストリングとしてソートされます。例えば、"1" は "9" よりも小さいストリング値であるため、100 は 99 よりも先になります。
- 1 または
パラメーター
sortBehavior:* — ソートの動作を決定する Function または Number 値。Function パラメーターは比較メソッドを指定します。Number 値はソートオプションを指定します。
|
Vector.<T> — 新しい順序のエレメントを持つ Vector オブジェクト。
|
関連する API エレメント
splice | () | メソッド |
AS3 function splice(startIndex:int, deleteCount:uint = 4294967295, ... items):Vector.<T>
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ベクターのエレメントを追加および削除します。このメソッドは、コピーを作成しないで、ベクターを変更します。
注意:ベクターのサブクラス内でこのメソッドをオーバーライドするには、次の例に示すように、パラメーターに ...args
を使用します。
public override function splice(...args) { // your statements here }
パラメーター
startIndex:int — 挿入または削除を開始するベクターエレメントのインデックスを示す整数です。負の整数を使用すると、ベクターの末尾を基準として位置を指定できます。例えば、-1 はベクターの最後のエレメントです。
| |
deleteCount:uint (default = 4294967295 ) — 削除するエレメント数を示す整数です。この数には、startIndex パラメーターで指定するエレメントが含まれます。値として 0 を指定すると、エレメントは削除されません。
| |
... items — startIndex パラメーターで指定したベクター内の位置に挿入するカンマ区切り値のオプションリストです。
|
Vector.<T> — 元のベクターから削除されたエレメントを含むベクターです。
|
例外
RangeError — startIndex と deleteCount 引数がベクターの境界外にあるインデックスを削除するように指定する場合。
| |
RangeError — このメソッドが fixed が true のときに呼び出され、splice() 演算によってベクターの length が変更された場合。
|
toLocaleString | () | メソッド |
public function toLocaleString():String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたベクター内のエレメントを表すストリングを返します。インデックス 0 から最大インデックスまでのベクター内のすべてのエレメントを、カンマで区切られた連結ストリングに変換して返します。ActionScript 3.0 実装において、このメソッドは、Vector.toString()
と同じ値を返します。
String — ベクターエレメントのストリングです。
|
関連する API エレメント
toString | () | メソッド |
unshift | () | メソッド |
AS3 function unshift(... args):uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
エレメントをベクターの先頭に追加して、ベクターの新しい長さを返します。ベクター内のその他のエレメントは、元の位置 i から i に新しいエレメントの数を加えた位置に移動されます。
この関数は複数の引数を受け入れることができるので、Strict モードの場合でも、コンパイル時に引数のデータ型はチェックされません。ただし、ベース型のインスタンスではない引数が渡されると、実行時に例外が発生します。
パラメーター
... args — ベクターの先頭に挿入されるこのベクターのベース型の 1 つ以上のインスタンス。
|
uint — ベクターの新しい長さを表す整数です。
|
例外
TypeError — 引数がベクターのベース型 T のインスタンスではない場合。
| |
RangeError — fixed が true のときにこのメソッドが呼び出された場合。
|
関連する API エレメント
Tue Jun 12 2018, 10:34 AM Z