顶级
public dynamic class Vector
继承Vector Inheritance Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

使用 Vector 类可以访问和操作矢量(即所有元素均具有相同数据类型的数组)。Vector 的元素数据类型称作 Vector 的基本类型。基本类型可以是任何类,包括内置类和自定义类。在声明 Vector 变量以及通过调用类构造函数创建实例时,将指定基本类型。

与 Array 类似,可以使用数组访问 ([]) 运算符设置或检索 Vector 元素的值。一些 Vector 方法还提供了用于设置和检索元素值的机制。其中包括 push()pop()shift()unshift(),等等。Vector 对象的属性和方法与 Array 的属性和方法类似(大多数情况下完全相同)。对于任何需要使用所有元素都具有相同数据类型的 Array 的情况,Vector 实例更为可取。

可使用后缀类型参数语法指定 Vector 的基本类型。类型参数语法是一个序列,其中依次包含点 (.)、小于号 (<)、类名称和大于号 (>),如以下示例所示:

 var v:Vector.<String>;
 v = new Vector.<String>();
 

在此示例的第一行内容中,变量 v 声明为 Vector.<String> 实例。换句话说,它表示一个只能容纳 String 实例的 Vector(数组),并且从中只能检索 String 实例。第二行代码构造了同一 Vector 类型的实例(即,一个所有元素均为 String 对象的 Vector),并将该实例分配给 v

使用 Vector.<T> 数据类型声明的变量只能存储用相同的基本类型 T 构造的 Vector 实例。例如,不能将通过调用 new Vector.<String>() 构造的 Vector 分配给使用 Vector.<int> 数据类型声明的变量。基本类型必须完全匹配。例如,不会对下列代码进行编译,原因是对象的基本类型与变量声明的基本类型不同(即使 Sprite 是 DisplayObject 的子类):

 // This code doesn't compile even though Sprite is a DisplayObject subclass
 var v:Vector.<DisplayObject> = new Vector.<Sprite>();
 

若要将基本类型为 T 的 Vector 转换为超类 T 的 Vector,请使用 Vector() 全局函数。

除数据类型限制之外,Vector 类还具有其他一些限制,从而有别于 Array 类:

由于 Vector 具有这些限制,因此 Vector 相对于所有元素均为单个类的实例的 Array 实例有两个主要优点:

另请参见

[] 数组访问
Vector() 全局函数
Array 类


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  fixed : Boolean
指示能否更改 Vector 的 length 属性。
Vector
  length : uint
Vector 中可用的有效索引的范围。
Vector
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
  
Vector(length:uint = 0, fixed:Boolean = false)
使用指定的基本类型创建 Vector。
Vector
  
concat(... args):Vector.<T>
将参数中指定的元素与 Vector 中的元素进行连接并创建新的 Vector。
Vector
  
every(callback:Function, thisObject:Object = null):Boolean
对 Vector 中的每一项执行测试函数,直到获得对指定的函数返回 false 的项。
Vector
  
filter(callback:Function, thisObject:Object = null):Vector.<T>
对 Vector 中的每一项执行测试函数,并返回一个新 Vector,其中包含的所有项都对指定的函数返回 true。
Vector
  
forEach(callback:Function, thisObject:Object = null):void
对 Vector 中的每一项执行某个函数。
Vector
 Inherited
指示对象是否已经定义了指定的属性。
Object
  
indexOf(searchElement:T, fromIndex:int = 0):int
搜索 Vector 中的某个项,并返回该项的索引位置。
Vector
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
join(sep:String = ","):String
将 Vector 中的元素转换为字符串,在元素间插入指定的分隔符,连接这些元素,然后返回结果字符串。
Vector
  
lastIndexOf(searchElement:T, fromIndex:int = 0x7fffffff):int
在 Vector 中搜索一个项(从指定的索引位置向后搜索),并返回匹配项的索引位置。
Vector
  
map(callback:Function, thisObject:Object = null):Vector.<T>
对 Vector 中的每一项执行函数并返回一个新 Vector,其中包含与此 Vector 中的每一项的函数调用结果相对应的项。
Vector
  
pop():T
删除 Vector 中的最后一个元素,并返回该元素。
Vector
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
  
push(... args):uint
将一个或多个元素添加到 Vector 的结尾,并返回该 Vector 的新长度。
Vector
  
颠倒 Vector 中元素的顺序。
Vector
 Inherited
设置循环操作动态属性的可用性。
Object
  
shift():T
删除 Vector 中的第一个元素,并返回该元素。
Vector
  
slice(startIndex:int = 0, endIndex:int = 16777215):Vector.<T>
返回由原始 Vector 中某一范围的元素构成的新 Vector,而不修改原始 Vector。
Vector
  
some(callback:Function, thisObject:Object = null):Boolean
对 Vector 中的每一项执行测试函数,直到获得返回 true 的项。
Vector
  
sort(compareFunction:Function):Vector.<T>
对 Vector 中的元素进行排序。
Vector
  
splice(startIndex:int, deleteCount:uint, ... items):Vector.<T>
对 Vector 添加元素以及从 Vector 中删除元素。
Vector
  
返回一个字符串,它表示指定 Vector 中的元素。
Vector
  
返回一个字符串,它表示 Vector 中的元素。
Vector
  
将一个或多个元素添加到 Vector 的开头,并返回该 Vector 的新长度。
Vector
 Inherited
返回指定对象的原始值。
Object
属性详细信息
fixed属性
fixed:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

指示能否更改 Vector 的 length 属性。如果值为 false,则无法更改 length 属性。这表示当 fixedtrue 时,不允许执行以下操作:



实现
    public function get fixed():Boolean
    public function set fixed(value:Boolean):void
length属性 
length:uint  [读写]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

Vector 中可用的有效索引的范围。Vector 实例具有最大不超过 length 值的索引位置(但不包括此值)。

每个 Vector 元素始终具有一个值,该值要么为一个基本类型的实例,要么为 null。若将 length 属性设置为一个大于其先前值的值时,则将创建额外的元素,并使用适合基本类型的默认值(对于引用类型使用 null)来填充这些元素。

length 属性设置为一个小于其先前值的值时,将从 Vector 中删除位于大于或等于新 length 值的索引位置处的所有元素。



实现
    public function get length():uint
    public function set length(value:uint):void

引发
RangeError — 如果在 fixedtrue 时更改此属性。
 
RangeError — 如果将此属性设置为一个大于允许的最大索引值 (232) 的值。
构造函数详细信息
Vector()构造函数
public function Vector(length:uint = 0, fixed:Boolean = false)

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

使用指定的基本类型创建 Vector。

当调用 Vector.<T>() 构造函数时,将使用类型参数语法指定基本类型。类型参数语法是一个序列,其中依次包含点 (.)、小于号 (<)、类名称和大于号 (>),如以下示例所示:

与 Array 类不同,不能使用 Vector.<T>() 构造函数来创建预填充的 Vector 实例。若要从一个 Array 或另一个 Vector(例如具有不同的基本类型的 Vector)创建 Vector 实例,请使用 Vector() 全局函数。

参数
length:uint (default = 0) — Vector 的初始长度(元素数目)。如果此参数大于零,则将创建指定数目的 Vector 元素,并使用适合基本类型的默认值(对于引用类型将使用 null)进行填充。
 
fixed:Boolean (default = false) — Vector 的长度是固定的 (true) 还是可变的 (false)。可以使用 fixed 属性设置此值。

另请参见

方法详细信息
concat()方法
AS3 function concat(... args):Vector.<T>

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

将参数中指定的元素与 Vector 中的元素进行连接并创建新的 Vector。如果这些参数指定一个 Vector,则将连接该 Vector 中的元素。

hello world

参数

... args — 将要在新的 Vector 中进行连接的此 Vector 的基本类型的一个或多个值。如果未传递任何值,则新 Vector 将是原始 Vector 的副本。

返回
Vector.<T> — 一个与此 Vector 具有相同的基本类型的 Vector,并且其中包含此 Vector 中的元素,后跟参数中的元素。

引发
TypeError — 如果任何参数都不是基本类型的实例且不能转换为基本类型。
every()方法 
AS3 function every(callback:Function, thisObject:Object = null):Boolean

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

对 Vector 中的每一项执行测试函数,直到获得对指定的函数返回 false 的项。使用此方法可确定 Vector 中的所有项是否满足某一条件,如具有小于某一特定数字的值。

参数

callback:Function — 要对 Vector 中的每一项运行的函数。调用此函数时需要使用以下三个参数:Vector 中的当前项、当前项的索引和 Vector 对象:
function callback(item:T, index:int, vector:Vector.<T>):void;
 
thisObject:Object (default = null) — 调用 callback 函数时该函数中的标识符 this 引用的对象。

返回
Boolean — 在对 Vector 中的所有项调用指定函数时若返回 true,则为布尔值 true;否则为 false

另请参见

filter()方法 
AS3 function filter(callback:Function, thisObject:Object = null):Vector.<T>

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

对 Vector 中的每一项执行测试函数,并返回一个新 Vector,其中包含的所有项都对指定的函数返回 true。如果某项返回 false,则结果 Vector 中将不包含此项。返回的 Vector 的基本类型与对其调用此方法的 Vector 的基本类型匹配。

参数

callback:Function — 要对 Vector 中的每一项运行的函数。调用此函数时需要使用以下三个参数:Vector 中的当前项、当前项的索引和 Vector 对象:
function callback(item:T, index:int, vector:Vector.<T>):Boolean;
 
thisObject:Object (default = null) — 调用 callback 函数时该函数中的标识符 this 引用的对象。

返回
Vector.<T> — 一个新的 Vector,其中包含原始 Vector 中 callback 函数为其返回 true 的所有项目。

另请参见

forEach()方法 
AS3 function forEach(callback:Function, thisObject:Object = null):void

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

对 Vector 中的每一项执行某个函数。

参数

callback:Function — 要对 Vector 中的每一项运行的函数。调用此函数时需要使用以下三个参数:Vector 中的当前项、当前项的索引和 Vector 对象:
function callback(item:T, index:int, vector:Vector.<T>):void;

通过此函数调用获得的任何返回值都将被丢弃。

 
thisObject:Object (default = null) — 调用 callback 函数时该函数中的标识符 this 引用的对象。

indexOf()方法 
AS3 function indexOf(searchElement:T, fromIndex:int = 0):int

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

搜索 Vector 中的某个项,并返回该项的索引位置。使用全等运算符 (===) 将此项与 Vector 元素进行比较。

参数

searchElement:T — 要在 Vector 中查找的项。
 
fromIndex:int (default = 0) — 要在 Vector 中开始搜索指定项的位置。如果此参数为负数,则将其视为 length + fromIndex,这意味着搜索将从末尾倒数第 -fromIndex 项开始,并从该位置向前搜索直到 Vector 的末尾。

返回
int — Vector 中的项的从零开始的索引位置。如果未找到 searchElement 参数,则返回值为 -1。

另请参见

join()方法 
AS3 function join(sep:String = ","):String

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

将 Vector 中的元素转换为字符串,在元素间插入指定的分隔符,连接这些元素,然后返回结果字符串。嵌套 Vector 总是以逗号 (,) 分隔,而不使用传递给 join() 方法的分隔符分隔。

参数

sep:String (default = ",") — 在返回字符串中分隔 Vector 元素的字符或字符串。如果省略此参数,则使用逗号作为默认分隔符。

返回
String — 一个字符串,它由转换为字符串并以指定字符串分隔的 Vector 元素组成。

另请参见

lastIndexOf()方法 
AS3 function lastIndexOf(searchElement:T, fromIndex:int = 0x7fffffff):int

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

在 Vector 中搜索一个项(从指定的索引位置向后搜索),并返回匹配项的索引位置。使用全等运算符 (===) 将此项与 Vector 元素进行比较。

参数

searchElement:T — 要在 Vector 中查找的项。
 
fromIndex:int (default = 0x7fffffff) — 要在 Vector 中开始搜索指定项的位置。默认值为允许的最大索引值,这表示搜索从 Vector 中的最后一项开始。

如果此参数为负数,则将其视为 length + fromIndex,这意味着搜索将从末尾倒数第 -fromIndex 项开始,并且从该位置向后搜索直到索引 0。

返回
int — Vector 中的项的从零开始的索引位置。如果未找到 searchElement 参数,则返回值为 -1。

另请参见

map()方法 
AS3 function map(callback:Function, thisObject:Object = null):Vector.<T>

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

对 Vector 中的每一项执行函数并返回一个新 Vector,其中包含与此 Vector 中的每一项的函数调用结果相对应的项。结果 Vector 具有与原始 Vector 相同的基本类型和 length。位于结果 Vector 中的索引 i 位置的元素是对位于原始 Vector 中的索引 i 位置的元素进行调用所获得的结果。

参数

callback:Function — 要对 Vector 中的每一项运行的函数。调用此函数时需要使用以下三个参数:Vector 中的当前项、当前项的索引和 Vector 对象:
function callback(item:T, index:int, vector:Vector.<T>):T;
 
thisObject:Object (default = null) — 调用 callback 函数时该函数中的标识符 this 引用的对象。

返回
Vector.<T> — 一个新 Vector,其中包含对此 Vector 中的每一项调用函数所获得的结果。结果 Vector 具有与原始 Vector 相同的基本类型和 length

另请参见

pop()方法 
AS3 function pop():T

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

删除 Vector 中的最后一个元素,并返回该元素。当调用此函数时,将 Vector 的 length 属性值减一。

返回
T — 指定的 Vector 中最后一个元素的值。

引发
RangeError — 如果在 fixedtrue 时调用此方法。

另请参见

push()方法 
AS3 function push(... args):uint

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

将一个或多个元素添加到 Vector 的结尾,并返回该 Vector 的新长度。

由于此函数可接受多个参数,因此在编译时不会检查参数的数据类型(即使在严格模式下也不检查)。但是,如果传递的参数不是基本类型的实例,则在运行时会出现异常。

参数

... args — 要追加到 Vector 中的一个或多个值。

返回
uint — 添加新元素后的 Vector 的长度。

引发
TypeError — 如果任何参数都不是 Vector 的基本类型 T 的实例。
 
RangeError — 如果在 fixedtrue 时调用此方法。

另请参见

reverse()方法 
AS3 function reverse():Vector.<T>

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

颠倒 Vector 中元素的顺序。此方法会改变对其进行调用的 Vector。

返回
Vector.<T> — 元素顺序颠倒的 Vector。
shift()方法 
AS3 function shift():T

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

删除 Vector 中的第一个元素,并返回该元素。其余的 Vector 元素将从其原始位置 i 移至 i - 1。

返回
T — Vector 中的第一个元素。

引发
RangeError — 如果 fixedtrue

另请参见

slice()方法 
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Vector.<T>

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

返回由原始 Vector 中某一范围的元素构成的新 Vector,而不修改原始 Vector。返回的 Vector 包括从 startIndex 元素开始到 endIndex 元素(但不包括该元素)的所有元素。

如果您没有传递任何参数,则创建原始 Vector 的一个副本。

参数

startIndex:int (default = 0) — 一个数字,指定片段起始点的索引。如果 startIndex 是负数,则起始点从 Vector 的末尾开始,其中 -1 表示最后一个元素。
 
endIndex:int (default = 16777215) — 一个数字,指定片段终点的索引。如果省略此参数,则片段包括从起始点到 Vector 的末尾的所有元素。如果 endIndex 是负数,则从 Vector 的末尾指定终点,其中 -1 表示最后一个元素。

返回
Vector.<T> — 一个 Vector,其中包含原始 Vector 中某一范围的元素。
some()方法 
AS3 function some(callback:Function, thisObject:Object = null):Boolean

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

对 Vector 中的每一项执行测试函数,直到获得返回 true 的项。使用此方法可确定 Vector 中的所有项是否满足条件,如具有小于某一特定数字的值。

参数

callback:Function — 要对 Vector 中的每一项运行的函数。调用此函数时需要使用以下三个参数:Vector 中的当前项、当前项的索引和 Vector 对象:
function callback(item:T, index:int, vector:Vector.<T>):Boolean;
 
thisObject:Object (default = null) — 调用 callback 函数时该函数中的标识符 this 引用的对象。

返回
Boolean — 如果 Vector 中的所有项对于指定的函数都返回 true,则为布尔值 true;否则为 false

另请参见

sort()方法 
AS3 function sort(compareFunction:Function):Vector.<T>

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

对 Vector 中的元素进行排序。此方法根据作为 compareFunction 参数提供的函数执行排序。

参数

compareFunction:Function — 一种可确定排序行为的比较方法。

指定的方法必须采用两个 Vector 基本类型 (T) 的参数并返回一个 Number:

function compare(x:T, y:T):Number {}

compareFunction 函数的逻辑为:给定两个元素 xy,此函数将返回以下三个值之一:

  • 一个负数,如果 x 应在排序后的序列中出现在 y 之前
  • 0,如果 x 等于 y
  • 一个正数,如果 x 应在排序后的序列中出现在 y 之后

返回
Vector.<T> — 其中的元素按新顺序进行排序的 Vector。
splice()方法 
AS3 function splice(startIndex:int, deleteCount:uint, ... items):Vector.<T>

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

对 Vector 添加元素以及从 Vector 中删除元素。此方法会修改 Vector 但不制作副本。

注意:要在 Vector 的子类中覆盖此方法,请使用 ...args 作为参数,如下例所示:

     public override function splice(...args) {
       // your statements here
     }
     

参数

startIndex:int — 一个整数,它指定 Vector 中开始进行插入或删除的位置处的元素的索引。可以用一个负整数来指定相对于 Vector 的末尾的位置(例如,-1 表示 Vector 的最后一个元素)。
 
deleteCount:uint — 一个整数,它指定要删除的元素数量。 该数量包括 startIndex 参数中指定的元素。 如果没有为 deleteCount 参数指定值,则该方法将删除从 startIndex 元素到 Vector 中最后一个元素的所有值。如果该参数的值为 0,则不删除任何元素。
 
... items — 以逗号分隔的一个或多个值的可选列表或 Vector,其将插入到 Vector 中由 startIndex 参数指定的位置。

返回
Vector.<T> — 一个 Vector,其中包含已从原始 Vector 中删除的元素。

引发
RangeError — 如果 startIndexdeleteCount 参数指定要删除的索引超出了 Vector 的范围。
 
RangeError — 如果在 fixedtruesplice() 操作更改 Vector 的 length 时调用此方法。
toLocaleString()方法 
public function toLocaleString():String

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

返回一个字符串,它表示指定 Vector 中的元素。Vector 中的每一个元素(从索引 0 开始到最大索引结束)均会转换为一个连接字符串,并以逗号分隔。在 ActionScript 3.0 实现中,此方法与 Vector.toString() 方法返回相同的值。

返回
String — 由 Vector 元素组成的字符串。

另请参见

toString()方法 
public function toString():String

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

返回一个字符串,它表示 Vector 中的元素。Vector 中的每一个元素(从索引 0 开始到最大索引结束)均会转换为一个连接字符串,并以逗号分隔。若要指定自定义的分隔符,请使用 Vector.join() 方法。

返回
String — 由 Vector 元素组成的字符串。

另请参见

unshift()方法 
AS3 function unshift(... args):uint

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

将一个或多个元素添加到 Vector 的开头,并返回该 Vector 的新长度。Vector 中的其他元素从其原始位置 i 移到 i + 新元素的数目。

由于此函数可接受多个参数,因此在编译时不会检查参数的数据类型(即使在严格模式下也不检查)。但是,如果传递的参数不是基本类型的实例,则在运行时会出现异常。

参数

... args — 要在 Vector 的开头插入的 Vector 的基本类型的一个或多个实例。

返回
uint — 一个整数,表示 Vector 的新长度。

引发
TypeError — 如果任何参数都不是 Vector 的基本类型 T 的实例。
 
RangeError — 如果在 fixedtrue 时调用此方法。

另请参见