Главная / Action Script 3
ПакетВерхний уровень
Классpublic dynamic class Vector
НаследованиеVector Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Класс Vector позволяет открывать и манипулировать векторами (массивами, все элементы которых относятся к одному и тому же типу). Тип данных элементов Vector известен как базовый тип Vector. Базовый тип может принадлежать любому классу, включая встроенные и пользовательские классы. Базовый тип указывается при объявлении переменной Vector, а также при создании экземпляра путем вызова конструктора класса.

Как и в случае с объектом Array, можно использовать оператор доступа к массиву ([]), чтобы задать или определить значение элемента Vector. Несколько методов вектора также имеют механизмы присвоения и определения значений переменных. В их число среди прочих входят методы push(), pop(), shift(), unshift(). Свойства и методы объекта Vector подобны (и в большинстве случаев идентичны) свойствам и методам объекта Array. В любом случае, когда используется объект Array, все элементы которого относятся к одному и тому же типу данных, предпочтительным является экземпляр Vector.

Базовый тип вектора указывается с помощью постфиксного синтаксиса параметров. Синтаксис параметра типа — это последовательность, состоящая из точки (.), знака "меньше чем" (<), имени класса, а затем знака "больше чем" (>), как показано в примере ниже:

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

В первой строке примера переменная v объявлена как Vector.Экземпляр <String>. Другими словами, он представляет вектор (массив), который может содержать лишь экземпляры String и из которого можно извлечь только них. Вторая строка создает экземпляр того же типа вектора (вектор, все элементы которого являются объектами String) и присваивает его v.

Синтаксис параметра типа используется при каждом определении типа данных Vector. Помимо этого, он используется при объявлении переменной Vector, создании экземпляра объекта Vector, определении параметра метода Vector или определении типа Vector в качестве типа результата метода.

Переменная, объявленная вместе с экземпляром вектора.Тип данных <T> может хранить экземпляр Vector только в том случае, если он создан с идентичным базовым типом T. Например, вектор, созданный путем вызова методаnew Vector.<String>() нельзя присвоить переменной, которая объявлена вместе с ним.Тип данных <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:

В результате этих ограничений экземпляр Vector имеет два основных преимущества перед экземпляром Array, все элементы которого представляют собой экземпляры одного класса:

См. также

[] доступ к массиву
Глобальная функция Vector()
Класс Array
Создание экземпляра Vector


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  fixed : Boolean
Указывает, можно ли изменить свойство length вектора.
Vector
  length : uint
Диапазон действительных индексов, которые доступны в векторе.
Vector
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
  
Vector(length:uint = 0, fixed:Boolean = false)
Создает вектор с указанным базовым типом.
Vector
  
concat(... args):Vector.<T>
Указанные в параметрах элементы сцепляются с элементами в векторе, и создается новый вектор.
Vector
  
every(callback:Function, thisObject:Object = null):Boolean
Выполняет тестовую функцию для каждого элемента вектора, пока не будет достигнут элемент, возвращающий значение false для заданной функции.
Vector
  
filter(callback:Function, thisObject:Object = null):Vector.<T>
Выполняет тестовую функцию для каждого элемента вектора и формирует новый вектор из всех элементов, возвращающих значение true для заданной функции.
Vector
  
forEach(callback:Function, thisObject:Object = null):void
Выполняет функцию для каждого элемента вектора.
Vector
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
  
indexOf(searchElement:T, fromIndex:int = 0):int
Выполняет поиск элемента в векторе и возвращает позицию индекса элемента.
Vector
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
join(sep:String = ","):String
Преобразует элементы вектора в строки, вставляет указанный разделитель между элементами, сцепляет их и возвращает получившуюся строку.
Vector
  
lastIndexOf(searchElement:T, fromIndex:int = 0x7fffffff):int
Поиск элемента в векторе, выполняемый в обратном направлении от указанной позиции индекса, и возврат позиции индекса совпадающего элемента.
Vector
  
map(callback:Function, thisObject:Object = null):Vector.<T>
Выполняет функцию, относящуюся к каждому элементу вектора, и возвращает новый вектор, состоящий из элементов, соответствующих результатам вызова функции, которая выполняется для каждого элемента данного вектора.
Vector
  
pop():T
Удаляет последний элемент из вектора и возвращает его.
Vector
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
push(... args):uint
Добавляет один или несколько элементов в конец вектора и возвращает новую длину вектора.
Vector
  
Меняет порядок элементов вектора на обратный.
Vector
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
shift():T
Удаляет последний элемент из вектора и возвращает этот элемент.
Vector
  
slice(startIndex:int = 0, endIndex:int = 16777215):Vector.<T>
Возвращает новый вектор, состоящий из диапазона элементов исходного вектора, не модифицируя исходный вектор.
Vector
  
some(callback:Function, thisObject:Object = null):Boolean
Выполняет тестовую функцию для каждого элемента вектора, пока не будет достигнут элемент, возвращающий значение true.
Vector
  
sort(compareFunction:Function):Vector.<T>
Сортирует элементы вектора.
Vector
  
splice(startIndex:int, deleteCount:uint, ... items):Vector.<T>
Добавляет и удаляет элементы из вектора.
Vector
  
Возвращает строку, представляющую элементы указанного вектора.
Vector
  
Возвращает строку, представляющую элементы вектора.
Vector
  
Добавляет один или несколько элементов в начало вектора и возвращает новую длину вектора.
Vector
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
fixedсвойство
fixed:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает, можно ли изменить свойство length вектора. Если присвоено значение false, свойство length невозможно изменить. Это означает, что если свойству fixed присвоено значение true, следующие операции не разрешены:



Реализация
    public function get fixed():Boolean
    public function set fixed(value:Boolean):void
lengthсвойство 
length:uint  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Диапазон действительных индексов, которые доступны в векторе. Экземпляр вектора обладает позициями индекса вплоть до значения 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
Версии среды выполнения:  10, 1.5

Создает вектор с указанным базовым типом.

При вызове конструктора Vector.<T>() укажите базовый тип с помощью синтаксиса параметра типа. Синтаксис параметра типа — это последовательность, состоящая из точки (.), знака "меньше чем" (<), имени класса, а затем знака "больше чем" (>), как показано в примере ниже:

В отличие от класса Array конструктор Vector.<T>() нельзя использовать для создания предварительно заполненного экземпляра Vector. Чтобы создать экземпляр Vector на основе экземпляра Array или другого экземпляра Vector (который, например, имеет другой базовый тип), воспользуйтесь глобальной функцией Vector().

Параметры
length:uint (default = 0) — Исходная длина (количество элементов) вектора. Если этот параметр больше нуля, создается указанное количество элементов вектора, которые заполняются значением по умолчанию, которое соответствует базовому типу (null для ссылочных типов).
 
fixed:Boolean (default = false) — Определяет, фиксирована ли длина вектора (true) или ее можно изменить (false). Это значение можно также установить с помощью свойства fixed.

См. также

Сведения о методе
concat()метод
AS3 function concat(... args):Vector.<T>

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указанные в параметрах элементы сцепляются с элементами в векторе, и создается новый вектор. Если параметры задают вектор, элементы этого вектора сцепляются.

Параметры

... args — Одно или несколько значений базового типа данного вектора, которые сцепляются с новым вектором. Если значения не передаются, новый вектор дублирует исходный вектор.

Возвращает
Vector.<T> — Вектор с тем же базовым типом, что и данный вектор, содержащий элементы данного вектора, вслед за которыми указываются элементы из параметров.

Выдает
TypeError — Если какой-либо аргумент не является экземпляром базового типа, и его невозможно преобразовать в базовый тип.
every()метод 
AS3 function every(callback:Function, thisObject:Object = null):Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Выполняет тестовую функцию для каждого элемента вектора, пока не будет достигнут элемент, возвращающий значение false для заданной функции. Этот метод используется для того, чтобы определить, все ли элементы вектора соответствуют критерию (например, их значения должны быть меньше определенного числа).

Параметры

callback:Function — Функция, выполняемая с каждым элементом вектора. Эта функция вызывается с тремя аргументами: текущим элементом из вектора, индексом элемента и объектом Vector.
function callback(item:T, index:int, vector:Vector.<T>):void;
 
thisObject:Object (default = null) — Объект, к которому относится идентификатор this в функции обратного вызова при ее вызове.

Возвращает
Boolean — Логическое значение true, если указанная функция возвращает true при вызове по отношению ко всем элементам вектора. В противном случае возвращается false.

См. также

filter()метод 
AS3 function filter(callback:Function, thisObject:Object = null):Vector.<T>

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Выполняет тестовую функцию для каждого элемента вектора и формирует новый вектор из всех элементов, возвращающих значение true для заданной функции. Если элемент возвращает значение false, он не включается в новый вектор. Базовый тип возвращенного вектора соответствует базовому типу вектора, для которого вызывается данный метод.

Параметры

callback:Function — Функция, выполняемая с каждым элементом вектора. Эта функция вызывается с тремя аргументами: текущим элементом из вектора, индексом элемента и объектом Vector.
function callback(item:T, index:int, vector:Vector.<T>):Boolean;
 
thisObject:Object (default = null) — Объект, к которому относится идентификатор this в функции обратного вызова при ее вызове.

Возвращает
Vector.<T> — Новый вектор, содержащий все элементы из исходного вектора, для которых функция callback возвратила значение true.

См. также

forEach()метод 
AS3 function forEach(callback:Function, thisObject:Object = null):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Выполняет функцию для каждого элемента вектора.

Параметры

callback:Function — Функция, выполняемая с каждым элементом вектора. Эта функция вызывается с тремя аргументами: текущим элементом из вектора, индексом элемента и объектом Vector.
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
Версии среды выполнения:  10, 1.5

Выполняет поиск элемента в векторе и возвращает позицию индекса элемента. Этот элемент сравнивается с элементами вектора с помощью строгого равенства (===).

Параметры

searchElement:T — Элемент, который нужно найти в векторе.
 
fromIndex:int (default = 0) — Место в векторе, с которого начинается поиск элемента. Если этот параметр имеет отрицательное значение, он воспринимается как length + fromIndex. Это означает, что поиск начинается с -fromIndex элементов с конца и продолжается с этой позиции вплоть до конца вектора.

Возвращает
int — Позиция индекса, начинающегося с нуля, для элемента вектора. Если аргумент searchElement не найден, возвращается значение "-1".

См. также

join()метод 
AS3 function join(sep:String = ","):String

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Преобразует элементы вектора в строки, вставляет указанный разделитель между элементами, сцепляет их и возвращает получившуюся строку. Вложенный вектор всегда разделяется запятой (,), а не разделителем, переданным методу join().

Параметры

sep:String (default = ",") — Символ или строка, которые разделяют элементы вектора в возвращенной строке. Если этот параметр пропустить, в качестве разделителя по умолчанию используется запятая.

Возвращает
String — Строка, состоящая из элементов вектора, преобразованных в строки и разделенных указанной строкой.

См. также

lastIndexOf()метод 
AS3 function lastIndexOf(searchElement:T, fromIndex:int = 0x7fffffff):int

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Поиск элемента в векторе, выполняемый в обратном направлении от указанной позиции индекса, и возврат позиции индекса совпадающего элемента. Этот элемент сравнивается с элементами вектора с помощью строгого равенства (===).

Параметры

searchElement:T — Элемент, который нужно найти в векторе.
 
fromIndex:int (default = 0x7fffffff) — Место в векторе, с которого начинается поиск элемента. Значение по умолчанию — это максимально допустимое значение индекса. Это означает, что поиск начинается с последнего элемента вектора.

Если этот параметр имеет отрицательное значение, он воспринимается как length + fromIndex. При этом поиск начинается с -fromIndex элементов с конца и выполняется с этой позиции в обратном направлении до индекса 0.

Возвращает
int — Позиция индекса, начинающегося с нуля, для элемента вектора. Если аргумент searchElement не найден, возвращается значение "-1".

См. также

map()метод 
AS3 function map(callback:Function, thisObject:Object = null):Vector.<T>

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Выполняет функцию, относящуюся к каждому элементу вектора, и возвращает новый вектор, состоящий из элементов, соответствующих результатам вызова функции, которая выполняется для каждого элемента данного вектора. Итоговый вектор имеет тот же базовый тип и длину, что и исходный. Элемент с индексом i в итоговом векторе — это результат вызова для элемента с индексом i в исходном векторе.

Параметры

callback:Function — Функция, выполняемая с каждым элементом вектора. Эта функция вызывается с тремя аргументами: текущим элементом из вектора, индексом элемента и объектом Vector.
function callback(item:T, index:int, vector:Vector.<T>):T;
 
thisObject:Object (default = null) — Объект, к которому относится идентификатор this в функции обратного вызова при ее вызове.

Возвращает
Vector.<T> — Новый вектор, который содержит результаты вызова функции для каждого элемента данного вектора. Итоговый вектор имеет тот же базовый тип и длину, что и исходный.

См. также

pop()метод 
AS3 function pop():T

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Удаляет последний элемент из вектора и возвращает его. Значение свойства length этого вектора уменьшается на 1 при вызове этой функции.

Возвращает
T — Значение последнего элемента в указанном векторе.

Выдает
RangeError — Если этот метод вызывается, когда свойству fixed присвоено значение true.

См. также

push()метод 
AS3 function push(... args):uint

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Добавляет один или несколько элементов в конец вектора и возвращает новую длину вектора.

Поскольку эта функция поддерживает несколько аргументов, тип данных этих аргументов не проверяется ао время копиляции даже тогда, когда она выполняется в строгом режиме. Однако, если передан аргумент, который не является экземпляром базового типа, во время выполнения возникает исключение.

Параметры

... args — Одно или несколько значений, добавляемых в вектор.

Возвращает
uint — Длина вектора после добавления новых элементов.

Выдает
TypeError — Если какой-либо аргумент не является экземпляром базового типа T вектора.
 
RangeError — Если этот метод вызывается, когда свойству fixed присвоено значение true.

См. также

reverse()метод 
AS3 function reverse():Vector.<T>

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Меняет порядок элементов вектора на обратный. Этот метод изменяет вектор, для которого он вызывается.

Возвращает
Vector.<T> — Вектор, элементы которого представлены в обратном порядке.
shift()метод 
AS3 function shift():T

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Удаляет последний элемент из вектора и возвращает этот элемент. Оставшиеся элементы вектора перемещаются с исходной позиции "i" на позицию "i-1".

Возвращает
T — Первый элемент вектора.

Выдает
RangeError — Если свойству fixed присвоено значение true.

См. также

slice()метод 
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Vector.<T>

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает новый вектор, состоящий из диапазона элементов исходного вектора, не модифицируя исходный вектор. Возвращенный вектор включает элемент startIndex и все элементы вплоть до него, исключая элемент endIndex.

Если параметры не переданы, создается дубликат исходного вектора.

Параметры

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
Версии среды выполнения:  10, 1.5

Выполняет тестовую функцию для каждого элемента вектора, пока не будет достигнут элемент, возвращающий значение true. Этот метод используется для того, чтобы определить, соответствуют ли критерию какие-либо элементы вектора (например, их значения должны быть меньше определенного числа).

Параметры

callback:Function — Функция, выполняемая с каждым элементом вектора. Эта функция вызывается с тремя аргументами: текущим элементом из вектора, индексом элемента и объектом Vector.
function callback(item:T, index:int, vector:Vector.<T>):Boolean;
 
thisObject:Object (default = null) — Объект, к которому относится идентификатор this в функции обратного вызова при ее вызове.

Возвращает
Boolean — Логическое значение true присваивается, если какие-либо элементы в векторе возвращают значение true для указанной функции; в противном случае присваивается значение false.

См. также

sort()метод 
AS3 function sort(compareFunction:Function):Vector.<T>

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Сортирует элементы вектора. Этот метод выполняет сортировку согласно функции, которая указана в параметре compareFunction.

Параметры

compareFunction:Function — Метод сравнения, определяющий поведение при сортировке.

Указанный метод должен принять два аргумента базового типа (T) вектора и вернуть объект Number:

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

Логика функции compareFunction состоит в том, что при наличии двух элементов x и y функция возвращает одно из трех значений:

  • отрицательное число, если элемент x должен предшествовать y в отсортированной последовательности;
  • 0, если x равно y;
  • положительное число, если элемент x должен следовать за y в отсортированной последовательности.

Возвращает
Vector.<T> — Этот вектор, элементы которого расположены в новом порядке.
splice()метод 
AS3 function splice(startIndex:int, deleteCount:uint, ... items):Vector.<T>

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Добавляет и удаляет элементы из вектора. Этот метод изменяет вектор, не создавая копии.

Примечание. Чтобы переопределить этот метод в подклассе Vector, укажите для параметров значение ...args как показано в примере:

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

Параметры

startIndex:int — Целое число, указывающее индекс элемента в векторе, откуда начинается вставка или удаление. Чтобы указать позицию относительно конца вектора, можно использовать отрицательное число (например, "-1" — это последний элемент вектора).
 
deleteCount:uint — Целое число, указывающее количество удаляемых элементов. Это число включает элемент, указанный в параметре startIndex. Если значение параметра deleteCount не указано, метод удаляет все значения, начиная с элемента startIndex до последнего элемента в векторе. Если значение равно 0, элементы не удаляются.
 
... items — Необязательный список, состоящий из одного или нескольких значений, разделенных запятыми, или вектор, который вставляется в вектор на позиции, указанной параметром startIndex.

Возвращает
Vector.<T> — Вектор, содержащий элементы, удаленные из исходного вектора.

Выдает
RangeError — Если аргументы startIndex и deleteCount указывают подлежащий удалению индекс, который находится за границами вектора.
 
RangeError — Если этот метод вызывается, когда свойству fixed присвоено значение true, а операция splice() приводит к изменению длины вектора.
toLocaleString()метод 
public function toLocaleString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает строку, представляющую элементы указанного вектора. Каждый элемент в векторе, начиная с индекса 0 и заканчивая наибольшим индексом, преобразуется в сцепленную строку, разделенную запятыми. В рамках ActionScript 3.0 этот метод возвращает то же значение, что и метод Vector.toString().

Возвращает
String — Строка с элементами вектора.

См. также

toString()метод 
public function toString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает строку, представляющую элементы вектора. Каждый элемент в векторе, начиная с индекса 0 и заканчивая наибольшим индексом, преобразуется в сцепленную строку, разделенную запятыми. Чтобы указать пользовательский разделитель, примените метод Vector.join().

Возвращает
String — Строка с элементами вектора.

См. также

unshift()метод 
AS3 function unshift(... args):uint

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Добавляет один или несколько элементов в начало вектора и возвращает новую длину вектора. Другие элементы вектора перемещаются с исходной позиции (i) на позицию (i + количество новых элементов).

Поскольку эта функция поддерживает несколько аргументов, тип данных этих аргументов не проверяется ао время копиляции даже тогда, когда она выполняется в строгом режиме. Однако, если передан аргумент, который не является экземпляром базового типа, во время выполнения возникает исключение.

Параметры

... args — Один или несколько экземпляров базового типа вектора, которые вставляются в начало вектора.

Возвращает
uint — Целое число, выражающее новую длину вектора.

Выдает
TypeError — Если какой-либо аргумент не является экземпляром базового типа T вектора.
 
RangeError — Если этот метод вызывается, когда свойству fixed присвоено значение true.

См. также