패키지 | 최상위 레벨 |
클래스 | public dynamic class Vector |
상속 | Vector Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Array와 마찬가지로 array access 연산자([]
)를 사용하여 Vector 요소의 값을 설정하거나 검색할 수 있습니다. 또한 몇 가지 Vector 메서드를 통해 요소 값을 설정 및 검색하는 메커니즘이 제공됩니다. 이러한 메서드로는 push()
, pop()
, shift()
, unshift()
등이 있습니다. Vector 객체의 속성 및 메서드는 Array의 속성 및 메서드와 비슷하며 대부분의 경우 동일합니다. 사용하는 Array의 모든 요소가 같은 데이터 유형인 경우 대부분 Vector 인스턴스를 사용하는 것이 좋습니다. 단, Vector 인스턴스는 밀착형 배열이므로 각 인덱스에 값이 있거나 null
이어야 합니다. Array 인스턴스에는 이러한 제한이 동일하게 적용되지 않습니다.
Vector의 기본 유형은 접미사 유형 매개 변수 구문을 사용하여 지정됩니다. Type 매개 변수 구문은 다음 예제와 같이 마침표(.
), 여는 각괄호(<
), 클래스 이름, 닫는 각괄호(>
) 순서로 구성됩니다.
예제의 첫 번째 행에서는 변수 v
를 Vector.<String> 인스턴스로 선언합니다. 즉, 이 변수는 String 인스턴스만 포함할 수 있으며 String 인스턴스만 검색할 수 있는 Vector(배열)를 나타냅니다. 두 번째 행에서는 동일한 Vector 유형(요소가 모두 String 객체인 Vector)의 인스턴스를 생성하여 v
에 할당합니다.
var v:Vector.<String>; v = new Vector.<String>();
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는 밀착형 배열입니다. 1에서 6 사이의 위치에 값이 없어도 인덱스 0과 7에 값이 있을 수 있는 Array와 달리 Vector의 경우에는 모든 인덱스에 값 또는
null
이 있어야 합니다. - Vector는 고정 길이일 수도 있습니다. 즉, 포함된 요소 수를 변경할 수 없을 수 있습니다.
- Vector의 요소에 액세스할 때는 경계가 검사됩니다. 마지막 요소(
length - 1
)보다 큰 인덱스에서는 값을 읽을 수 없습니다. 현재 마지막 인덱스를 벗어난 인덱스에는 값을 설정할 수 없습니다. 즉, 기존 인덱스나[length]
인덱스에만 값을 설정할 수 있습니다.
이러한 제한 사항으로 인해 Vector에는 모든 요소가 단일 클래스의 인스턴스인 Array 인스턴스보다 우수한 점이 세 가지 있습니다.
- 성능: Vector 인스턴스를 사용하면 Array를 사용할 때보다 훨씬 빠르게 배열 요소에 액세스하고 반복할 수 있습니다.
- 유형 안전: 엄격 모드에서 컴파일러가 데이터 유형 오류를 식별할 수 있습니다. 예를 들어 Vector에 잘못된 데이터 유형의 값을 할당하거나 Vector에서 값을 읽을 때 잘못된 데이터 유형을 사용하는 경우가 데이터 유형 오류에 포함됩니다. 그러나
push()
메서드나unshift()
메서드를 사용하여 Vector에 값을 추가할 때는 인수의 데이터 유형이 컴파일 타임에 검사되지 않고 런타임에 검사됩니다. - 안정성: 런타임 범위 검사 또는 고정 길이 검사는 Array에 대한 안정성을 크게 향상시킵니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
fixed : Boolean
Vector의 length 속성을 변경할 수 있는지 여부를 나타냅니다. | Vector | ||
length : uint
Vector에서 사용할 수 있는 유효한 인덱스의 범위입니다. | Vector |
메서드 | 정의 주체 | ||
---|---|---|---|
지정된 기본 유형으로 Vector를 만듭니다. | Vector | ||
매개 변수 목록에 지정된 Vector를 이 Vector의 요소와 연결하여 새 Vector를 만듭니다. | Vector | ||
지정된 함수에 대해 false를 반환하는 항목에 도달할 때까지 Vector의 각 항목에 대해 테스트 함수를 실행합니다. | Vector | ||
Vector의 각 항목에 대해 테스트 함수를 실행하고 지정된 함수에 대해 true를 반환하는 모든 항목이 포함된 새 Vector를 반환합니다. | Vector | ||
Vector의 각 항목에 대해 함수를 실행합니다. | Vector | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Vector의 항목을 검색하고 항목의 인덱스 위치를 반환합니다. | Vector | ||
Vector에 단일 요소를 삽입합니다. | Vector | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
Vector의 요소를 문자열로 변환하고, 지정된 분리 기호를 요소 사이에 삽입하고, 요소를 서로 연결한 후 결과 문자열을 반환합니다. | Vector | ||
Vector의 지정된 인덱스 위치부터 역순으로 항목을 검색하고 일치하는 항목의 인덱스 위치를 반환합니다. | Vector | ||
Vector의 각 항목에 대해 함수를 실행하고 이 Vector의 각 항목에 대한 함수 호출의 결과에 해당하는 항목으로 구성된 새 Vector를 반환합니다. | Vector | ||
pop():T
Vector에서 마지막 요소를 제거하고 해당 요소를 반환합니다. | Vector | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
Vector 끝에 하나 이상의 요소를 추가하고 Vector의 새 길이를 반환합니다. | Vector | ||
Vector에서 단일 요소를 제거합니다. | Vector | ||
Vector에서 요소의 순서를 뒤집습니다. | Vector | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
shift():T
Vector에서 첫 번째 요소를 제거하고 해당 요소를 반환합니다. | Vector | ||
원본 Vector에서 특정 범위에 있는 요소로 구성된 새 Vector를 반환하며 원본 Vector를 수정하지 않습니다. | Vector | ||
true를 반환하는 항목에 도달할 때까지 Vector의 각 항목에 대해 테스트 함수를 실행합니다. | Vector | ||
Vector 객체에서 요소를 정렬하고 정렬된 Vector 객체를 반환하기도 합니다. | Vector | ||
Vector에 요소를 추가하고 Vector에서 요소를 제거합니다. | Vector | ||
지정된 Vector의 요소를 나타내는 문자열을 반환합니다. | Vector | ||
Vector의 요소를 나타내는 문자열을 반환합니다. | Vector | ||
Vector 시작 부분에 하나 이상의 요소를 추가하고 Vector의 새 길이를 반환합니다. | Vector | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
fixed | 속성 |
fixed:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector의 length
속성을 변경할 수 있는지 여부를 나타냅니다. 값이 true
이면 length
속성을 변경할 수 없습니다. 즉, fixed
가 true
이면 다음 작업을 수행할 수 없습니다.
length
속성을 직접 설정- 인덱스 위치
length
에 값 할당 length
속성을 변경하는 다음과 같은 메서드 호출pop()
push()
shift()
unshift()
splice()
(splice()
호출로 인해 Vector의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에서 사용할 수 있는 유효한 인덱스의 범위입니다. Vector 인스턴스에는 length
값 바로 전까지의 인덱스 위치가 있습니다.
모든 Vector 요소의 값은 항상 기본 유형의 인스턴스이거나 null
입니다. length
속성을 이전 값보다 큰 값으로 설정하면 요소가 추가로 만들어지고 기본 유형에 맞는 기본값(참조 유형의 경우 null
)으로 채워집니다.
length
속성을 이전 값보다 작은 값으로 설정하면 새 length
값보다 크거나 같은 인덱스 위치의 모든 요소가 Vector에서 제거됩니다.
구현
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를 만듭니다.
Vector.<T>()
생성자를 호출할 때 유형 매개 변수 구문을 사용하여 기본 유형을 지정합니다. Type 매개 변수 구문은 다음 예제와 같이 마침표(.
), 여는 각괄호(<
), 클래스 이름, 닫는 각괄호(>
) 순서로 구성됩니다.
var v:Vector.<String> = new Vector.<String>();
Array 또는 다른 Vector(예: 기본 유형이 다른 Vector)를 사용하여 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 ) — Vector의 초기 길이(요소 수)입니다. 이 매개 변수가 0보다 크면 지정된 수의 Vector 요소가 만들어지고 기본 유형에 맞는 기본값(참조 유형의 경우 null )으로 채워집니다.
| |
fixed:Boolean (default = false ) — Vector의 길이가 고정되었는지(true ) 아니면 변경 가능한지(false )입니다. fixed 속성을 사용하여 이 값을 설정할 수도 있습니다.
|
관련 API 요소
concat | () | 메서드 |
AS3 function concat(... args):Vector.<T>
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
매개 변수 목록에 지정된 Vector를 이 Vector의 요소와 연결하여 새 Vector를 만듭니다. 매개 변수 목록의 Vector는 이 Vector와 기본 유형 또는 하위 유형이 같아야 합니다. 매개 변수를 하나도 전달하지 않을 경우 반환되는 Vector는 원본 Vector의 복제본(단순 복제본)입니다.
매개 변수
... args — 이 Vector의 기본 유형 또는 하위 유형인 0개 이상의 Vector입니다.
|
Vector.<T> — 이 Vector와 기본 유형이 같으며, 이 Vector의 요소와 매개 변수 목록에 있는 Vector의 요소가 차례로 들어 있는 Vector입니다.
|
오류
TypeError — 기본 유형의 Vector가 아니거나, 기본 유형의 Vector로 변환할 수 없는 인수가 있는지 여부입니다.
|
every | () | 메서드 |
AS3 function every(callback:Function, thisObject:Object = null):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
지정된 함수에 대해 false
를 반환하는 항목에 도달할 때까지 Vector의 각 항목에 대해 테스트 함수를 실행합니다. 이 메서드를 사용하면 Vector의 모든 항목이 특정 숫자보다 값이 작아야 한다는 등의 조건에 맞는지 확인할 수 있습니다.
이 메서드에서 첫 번째 매개 변수인 callback
이 메서드 클로저인 경우 두 번째 매개 변수인 thisObject
는 null
이어야 합니다. 이는 이 메서드를 사용하는 가장 일반적인 방법입니다.
그러나 Flash Professional을 사용하여 기본 타임라인의 프레임에 함수를 만들고 다른 this
컨텍스트에서 이 함수를 호출하려는 경우를 가정해 봅니다.
function myFunction(item:T, index:int, vector:Vector.<T>):Boolean { // your code here }
그런 다음 Vector에 대해 every()
메서드를 사용합니다. Vector의 이름은 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의 각 항목에 대해 실행할 함수입니다. 이 함수는 세 개의 인수(Vector의 현재 항목, 항목의 인덱스 및 Vector 객체)를 사용하여 호출됩니다.
function callback(item:T, index:int, vector:Vector.<T>):Boolean { // your code here } 콜백 함수는 부울 값을 반환해야 합니다. | |
thisObject:Object (default = null ) — 콜백 함수를 호출할 때 해당 함수에서 식별자 this 가 참조하는 객체입니다.
|
Boolean — 부울 값이 true 이면 Vector의 모든 항목에 대해 지정된 함수를 호출하여 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 |
Vector의 각 항목에 대해 테스트 함수를 실행하고 지정된 함수에 대해 true
를 반환하는 모든 항목이 포함된 새 Vector를 반환합니다. false
를 반환하는 항목은 결과 Vector에 포함되지 않습니다. 반환되는 Vector의 기본 유형은 메서드가 호출된 Vector의 기본 유형과 일치합니다.
이 메서드에서 첫 번째 매개 변수인 callback
이 메서드 클로저인 경우 두 번째 매개 변수인 thisObject
는 null
이어야 합니다. 이는 이 메서드를 사용하는 가장 일반적인 방법입니다.
그러나 Flash Professional을 사용하여 기본 타임라인의 프레임에 함수를 만들고 다른 this
컨텍스트에서 이 함수를 호출하려는 경우를 가정해 봅니다.
function myFunction(item:T, index:int, vector:Vector.<T>):Boolean { // your code here }
그런 다음 Vector에 대해 filter()
메서드를 사용합니다. Vector의 이름은 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의 각 항목에 대해 실행할 함수입니다. 이 함수는 세 개의 인수(Vector의 현재 항목, 항목의 인덱스 및 Vector 객체)를 사용하여 호출됩니다.
function callback(item:T, index:int, vector:Vector.<T>):Boolean; | |
thisObject:Object (default = null ) — 콜백 함수를 호출할 때 해당 함수에서 식별자 this 가 참조하는 객체입니다.
|
Vector.<T> — 원래 Vector에서 callback 함수가 true 를 반환한 모든 항목이 들어 있는 새 Vector 입니다.
|
관련 API 요소
forEach | () | 메서드 |
AS3 function forEach(callback:Function, thisObject:Object = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector의 각 항목에 대해 함수를 실행합니다.
이 메서드에서 첫 번째 매개 변수인 callback
이 메서드 클로저인 경우 두 번째 매개 변수인 thisObject
는 null
이어야 합니다. 이는 이 메서드를 사용하는 가장 일반적인 방법입니다.
그러나 Flash Professional을 사용하여 기본 타임라인의 프레임에 함수를 만들고 다른 this
컨텍스트에서 이 함수를 호출하려는 경우를 가정해 봅니다.
function myFunction(item:T, index:int, vector:Vector.<T>):void { // your code here }
그런 다음 Vector에 대해 forEach()
메서드를 사용합니다. Vector의 이름은 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의 각 항목에 대해 실행할 함수입니다. 이 함수는 세 개의 인수(Vector의 현재 항목, 항목의 인덱스 및 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 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector의 항목을 검색하고 항목의 인덱스 위치를 반환합니다. 항목은 strict equality(===
)를 사용하여 Vector 요소와 비교됩니다.
매개 변수
searchElement:T — Vector에서 찾을 항목입니다.
| |
fromIndex:int (default = 0 ) — Vector에서 항목 검색을 시작할 위치입니다. 이 매개 변수가 음수이면 length + fromIndex 로 간주됩니다. 즉, 끝에서 -fromIndex 위치의 항목부터 Vector 끝까지 검색합니다.
|
int — Vector에서 항목의 인덱스 위치(0부터 시작)입니다. searchElement 인수를 찾지 못한 경우 -1 값이 반환됩니다.
|
관련 API 요소
insertAt | () | 메서드 |
AS3 function insertAt(index:int, element:T):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 19, AIR 19 |
Vector에 단일 요소를 삽입합니다. 이 메서드는 복사본을 만들지 않고 Vector를 수정합니다.
매개 변수
index:int — Vector에서 해당 요소가 삽입될 위치를 지정하는 정수입니다. 음의 정수를 사용하면 Vector의 끝을 기준으로 상대 위치를 지정할 수 있습니다. 예를 들어 -1은 Vector의 마지막 요소입니다.
| |
element:T |
오류
RangeError — fixed 가 true 일 때 이 메서드를 호출한 경우입니다.
|
join | () | 메서드 |
AS3 function join(sep:String = ","):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector의 요소를 문자열로 변환하고, 지정된 분리 기호를 요소 사이에 삽입하고, 요소를 서로 연결한 후 결과 문자열을 반환합니다. 중첩 Vector는 항상 join()
메서드에 전달된 분리 기호가 아닌 쉼표(,)로 구분됩니다.
매개 변수
sep:String (default = ", ") — 반환된 문자열에서 Vector 요소를 구분하는 문자 또는 문자열입니다. 이 매개 변수를 생략하면 쉼표가 기본 분리 기호로 사용됩니다.
|
String — 문자열로 변환한 Vector 요소를 지정된 문자열로 구분하여 구성한 문자열입니다.
|
관련 API 요소
lastIndexOf | () | 메서드 |
AS3 function lastIndexOf(searchElement:T, fromIndex:int = 0x7fffffff):int
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector의 지정된 인덱스 위치부터 역순으로 항목을 검색하고 일치하는 항목의 인덱스 위치를 반환합니다. 항목은 strict equality(===
)를 사용하여 Vector 요소와 비교됩니다.
매개 변수
searchElement:T — Vector에서 찾을 항목입니다.
| |
fromIndex:int (default = 0x7fffffff ) — Vector에서 항목 검색을 시작할 위치입니다. 기본값은 가능한 최대 인덱스 값입니다. 즉, Vector의 마지막 항목부터 검색을 시작합니다.
이 매개 변수가 음수이면 |
int — Vector에서 항목의 인덱스 위치(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 |
Vector의 각 항목에 대해 함수를 실행하고 이 Vector의 각 항목에 대한 함수 호출의 결과에 해당하는 항목으로 구성된 새 Vector를 반환합니다. 결과 Vector는 원래 Vector와 기본 유형 및 length
가 동일합니다. 결과 Vector에서 인덱스 i
에 있는 요소는 원래 Vector에서 인덱스 i
에 있는 요소에 대해 함수를 호출한 결과입니다.
이 메서드에서 첫 번째 매개 변수인 callback
이 메서드 클로저인 경우 두 번째 매개 변수인 thisObject
는 null
이어야 합니다. 이는 이 메서드를 사용하는 가장 일반적인 방법입니다.
그러나 Flash Professional을 사용하여 기본 타임라인의 프레임에 함수를 만들고 다른 this
컨텍스트에서 이 함수를 호출하려는 경우를 가정해 봅니다.
function myFunction(item:Object, index:int, vector:Vector.<T>):T { // your code here }
그런 다음 Vector에 대해 map()
메서드를 사용합니다. Vector의 이름은 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의 각 항목에 대해 실행할 함수입니다. 이 함수는 세 개의 인수(Vector의 현재 항목, 항목의 인덱스 및 Vector 객체)를 사용하여 호출됩니다.
function callback(item:T, index:int, vector:Vector.<T>):T; | |
thisObject:Object (default = null ) — 콜백 함수를 호출할 때 해당 함수에서 식별자 this 가 참조하는 객체입니다.
|
Vector.<T> — 이 Vector의 각 항목에 대해 함수를 호출한 결과가 들어 있는 새 Vector입니다. 결과 Vector는 원래 Vector와 기본 유형 및 length 가 동일합니다.
|
관련 API 요소
pop | () | 메서드 |
AS3 function pop():T
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector에서 마지막 요소를 제거하고 해당 요소를 반환합니다. 이 함수를 호출하면 Vector의 length
속성이 1만큼 감소합니다.
T — 지정된 Vector에 있는 마지막 요소의 값입니다.
|
오류
RangeError — fixed 가 true 일 때 이 메서드를 호출한 경우입니다.
|
관련 API 요소
push | () | 메서드 |
AS3 function push(... args):uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector 끝에 하나 이상의 요소를 추가하고 Vector의 새 길이를 반환합니다.
이 함수는 여러 인수를 받을 수 있으므로 엄격 모드에서도 컴파일 타임에 인수의 데이터 유형이 검사되지 않습니다. 그러나 기본 유형의 인스턴스가 아닌 인수를 전달하면 런타임에 예외가 발생합니다.
매개 변수
... args — Vector에 추가할 하나 이상의 값입니다.
|
uint — 새 요소가 추가된 후 Vector의 길이입니다.
|
오류
TypeError — Vector의 기본 유형 T 의 인스턴스가 아닌 인수가 있는 경우입니다.
| |
RangeError — fixed 가 true 일 때 이 메서드를 호출한 경우입니다.
|
관련 API 요소
removeAt | () | 메서드 |
AS3 function removeAt(index:int):T
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 19, AIR 19 |
Vector에서 단일 요소를 제거합니다. 이 메서드는 복사본을 만들지 않고 Vector를 수정합니다.
매개 변수
index:int — Vector에서 삭제할 요소의 인덱스를 지정하는 정수입니다. 음의 정수를 사용하면 Vector의 끝을 기준으로 상대 위치를 지정할 수 있습니다. 예를 들어 -1은 Vector의 마지막 요소입니다.
|
T — 원래 Vector에서 제거된 요소입니다.
|
오류
RangeError — index 인수에 지정된 삭제할 인덱스가 Vector의 경계를 벗어나는 경우입니다.
| |
RangeError — fixed 가 true 일 때 이 메서드를 호출한 경우입니다.
|
reverse | () | 메서드 |
shift | () | 메서드 |
AS3 function shift():T
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector에서 첫 번째 요소를 제거하고 해당 요소를 반환합니다. Vector의 나머지 요소는 원래 위치 i에서 i - 1로 이동합니다.
반환값T — Vector의 첫 번째 요소입니다.
|
오류
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 |
원본 Vector에서 특정 범위에 있는 요소로 구성된 새 Vector를 반환하며 원본 Vector를 수정하지 않습니다. 반환되는 Vector에는 startIndex
요소부터 endIndex
요소 바로 앞까지의 모든 요소가 포함됩니다.
매개 변수를 전달하지 않으면 원본 Vector를 복제한 새 Vector(단순 복제본)가 만들어집니다. 두 매개 변수에 대해 모두 값 0을 전달하면 원본 Vector와 같은 유형의 빈 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, Flash Lite 4 |
true
를 반환하는 항목에 도달할 때까지 Vector의 각 항목에 대해 테스트 함수를 실행합니다. 이 메서드를 사용하면 특정 숫자보다 값이 작아야 한다는 등의 조건에 맞는 항목이 Vector에 하나라도 있는지 확인할 수 있습니다.
이 메서드에서 첫 번째 매개 변수인 callback
이 메서드 클로저인 경우 두 번째 매개 변수인 thisObject
는 null
이어야 합니다. 이는 이 메서드를 사용하는 가장 일반적인 방법입니다.
그러나 기본 타임라인의 프레임에 함수를 만들고 다른 this
컨텍스트에서 이 함수를 호출하려는 경우를 가정해 봅니다.
function myFunction(item:Object, index:int, vector:Vector.<T>):Boolean { // your code here }
그런 다음 Vector에 대해 some()
메서드를 사용합니다. Vector의 이름은 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의 각 항목에 대해 실행할 함수입니다. 이 함수는 세 개의 인수(Vector의 현재 항목, 항목의 인덱스 및 Vector 객체)를 사용하여 호출됩니다.
function callback(item:T, index:int, vector:Vector.<T>):Boolean 콜백 함수는 부울 값을 반환해야 합니다. | |
thisObject:Object (default = null ) — 콜백 함수를 호출할 때 해당 함수에서 식별자 this 가 참조하는 객체입니다.
|
Boolean — 부울 값이 true 이면 지정된 함수에 대해 true 를 반환하는 항목이 Vector에 있는 것이고, false 이면 그렇지 않은 것입니다.
|
관련 API 요소
sort | () | 메서드 |
AS3 function sort(sortBehavior:*):Vector.<T>
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector 객체에서 요소를 정렬하고 정렬된 Vector 객체를 반환하기도 합니다. 이 메서드는 두 값을 비교하는 함수이거나 정렬 옵션 집합인 sortBehavior
매개 변수에 따라 정렬합니다.
이 메서드에는 하나의 매개 변수가 사용됩니다. 이 매개 변수는 다음 중 하나입니다.
- 기본 유형(
T
) Vector의 두 인수를 사용하며 숫자를 반환하는 함수:function compare(x:T, y:T):Number {}
함수의 논리는 두 요소인
x
와y
를 사용하여 다음 세 가지 값 중 하나를 반환하는 것입니다.- 음수(정렬된 시퀀스에서
x
가y
보다 앞에 나와야 하는 경우) - 0(
x
가y
와 같은 경우) - 양수(정렬된 시퀀스에서
x
가y
보다 뒤에 나와야 하는 경우)
- 음수(정렬된 시퀀스에서
- 다음 값의 bitwise 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 |
Vector에 요소를 추가하고 Vector에서 요소를 제거합니다. 이 메서드는 복사본을 만들지 않고 Vector를 수정합니다.
참고: Vector의 하위 클래스에서 이 메서드를 재정의하려면 다음 예제와 같이 매개 변수로 ...args
를 사용합니다.
public override function splice(...args) { // your statements here }
매개 변수
startIndex:int — Vector에서 삽입 또는 삭제가 시작되는 요소의 인덱스를 지정하는 정수입니다. 음의 정수를 사용하면 Vector의 끝을 기준으로 상대 위치를 지정할 수 있습니다. 예를 들어 -1은 Vector의 마지막 요소입니다.
| |
deleteCount:uint (default = 4294967295 ) — 삭제할 요소의 수를 지정하는 정수입니다. 이 수에는 startIndex 매개 변수로 지정된 요소가 포함됩니다. 값이 0이면 요소가 삭제되지 않습니다.
| |
... items — Vector에서 startIndex 매개 변수로 지정된 위치에 삽입할 쉼표로 구분된 하나 이상의 값 목록으로, 선택 사항입니다.
|
Vector.<T> — 원본 Vector에서 제거된 요소가 들어 있는 Vector입니다.
|
오류
RangeError — startIndex 및 deleteCount 인수에 지정된 삭제할 인덱스가 Vector의 경계를 벗어나는 경우입니다.
| |
RangeError — fixed 가 true 이고 splice() 작업으로 인해 Vector의 length 가 변경될 때 이 메서드를 호출한 경우입니다.
|
toLocaleString | () | 메서드 |
public function toLocaleString():String
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
지정된 Vector의 요소를 나타내는 문자열을 반환합니다. 인덱스 0에서 시작하여 최대 인덱스로 끝나는 Vector에 포함된 모든 요소가 연결된 문자열로 변환되고 쉼표로 구분됩니다. ActionScript 3.0 구현에서 이 메서드의 반환 값은 Vector.toString()
메서드와 같습니다.
String — Vector 요소의 문자열입니다.
|
관련 API 요소
toString | () | 메서드 |
unshift | () | 메서드 |
AS3 function unshift(... args):uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vector 시작 부분에 하나 이상의 요소를 추가하고 Vector의 새 길이를 반환합니다. Vector의 다른 요소는 원래 위치 i에서 i + 새 요소 수로 이동합니다.
이 함수는 여러 인수를 받을 수 있으므로 엄격 모드에서도 컴파일 타임에 인수의 데이터 유형이 검사되지 않습니다. 그러나 기본 유형의 인스턴스가 아닌 인수를 전달하면 런타임에 예외가 발생합니다.
매개 변수
... args — Vector의 시작 부분에 삽입할 하나 이상의 인스턴스(Vector의 기본 유형)입니다.
|
uint — Vector의 새 길이를 나타내는 정수입니다.
|
오류
TypeError — Vector의 기본 유형 T 의 인스턴스가 아닌 인수가 있는 경우입니다.
| |
RangeError — fixed 가 true 일 때 이 메서드를 호출한 경우입니다.
|
관련 API 요소
Tue Jun 12 2018, 03:17 PM Z