Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript 언어 참조 설명서 > ActionScript 언어 요소 > 연산자 > [] 배열 액세스 연산자 | |||
myArray = [ a0, a1,...aN ] myArray[ i ] = value myObject [ propertyName ]
a0 등과 같은 지정된 요소를 사용하여 새 배열 또는 다차원 배열을 초기화하거나 배열의 요소에 액세스합니다. 배열 액세스 연산자를 사용하면 인스턴스, 변수 및 객체 이름을 동적으로 설정하고 가져올 수 있습니다. 또한 객체 속성에 액세스할 수도 있습니다.
구문 1: 배열은 요소라고 하는 속성이 포함된 객체이며 이러한 요소는 각각 인덱스라고 하는 숫자에 의해 식별됩니다. 배열을 만드는 경우 배열 액세스 연산자([]) 또는 대괄호를 사용하여 요소를 묶습니다. 배열에는 다양한 유형의 요소가 포함될 수 있습니다. 예를 들어, 이름이 employee인 다음 배열에는 세 요소가 포함되어 있으며 첫 번째 요소는 숫자이고 다음 두 요소는 따옴표로 묶은 문자열입니다.
var employee:Array = [15, "Barbara", "Jay"];
대괄호를 중첩하여 다차원 배열을 시뮬레이션할 수 있습니다. 이때 최대 256개의 수준으로 배열을 중첩할 수 있습니다. 다음 코드에서는 세 개의 요소가 포함된 ticTacToe라는 배열을 만듭니다. 이때 각 요소도 세 개의 요소가 포함된 배열입니다.
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; // 배열 요소의 목록을 보려면 테스트 모드에서 // 디버그 > 변수 목록을 선택하십시오.
구문 2: 직접 액세스할 수 있도록 각 요소의 인덱스를 대괄호([])로 묶습니다. 사용자는 배열에 새 요소를 추가하고 기존 요소의 값을 변경하거나 가져올 수 있습니다. 다음 예제와 같이 배열의 첫 번째 인덱스는 항상 0입니다.
var my_array:Array = new Array(); my_array[0] = 15; my_array[1] = "Hello"; my_array[2] = true;
다음 예제와 같이 대괄호([])를 사용하여 네 번째 요소를 추가할 수 있습니다.
my_array[3] = "George";
대괄호([])를 사용하여 다차원 배열의 요소에 액세스할 수 있습니다. 첫 번째 대괄호 세트는 원본 배열의 요소를 식별하고 두 번째 세트는 중첩된 배열의 요소를 식별합니다. 다음 코드 행에서는 숫자 6을 출력 패널에 전달합니다.
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; trace(ticTacToe[1][2]);// 출력: 6
구문 3: eval() 함수 대신 배열 액세스 연산자([])를 사용하여 무비 클립 이름 또는 객체 속성의 값을 동적으로 설정하고 가져올 수 있습니다. 다음 코드 행에서는 숫자 6을 출력 패널에 전달합니다.
name["mc" + i] = "left_corner";
지원 버전: ActionScript 1.0, Flash Lite 2.0
myArray : Object - myArray 배열의 이름입니다.
a0, a1,...aN : Object - a0,a1,...aN 배열의 요소이며 기본 유형 또는 객체 인스턴스입니다(중첩 배열 포함).
i : Number - i 0보다 크거나 같은 정수 인덱스입니다.
myObject : Object - myObject 객체의 이름입니다.
propertyName : String - propertyName 객체의 속성 이름을 지정하는 문자열입니다.
Object -
구문 1: 배열에 대한 참조입니다.
구문 2: 배열의 값이며 기본 유형 또는 객체 인스턴스입니다(Array 인스턴스 포함).
구문 3: 객체의 속성이며 기본 유형 또는 객체 인스턴스입니다(Array 인스턴스 포함).
다음 예제에서는 비어 있는 새 Array 객체를 만드는 두 가지 방법을 보여 줍니다. 첫 번째 행에서는 대괄호([])를 사용합니다.
var my_array:Array = []; var my_array:Array = new Array();
다음은 employee_array라는 배열을 만들고 trace() 문을 사용하여 요소를 출력 패널에 전달하는 예제입니다. 네 번째 행에서 배열의 요소가 변경되고 다섯 번째 행에서 새로 수정된 배열을 출력 패널에 전달합니다.
var employee_array = ["Barbara", "George", "Mary"]; trace(employee_array); // 출력: Barbara,George,Mary employee_array[2] = "Sam"; trace(employee_array); // 출력: Barbara,George,Sam
다음 예제에서는 대괄호 내의 표현식("piece" + i)을 평가한 후 그 결과를 my_mc 무비 클립에서 가져올 변수의 이름으로 사용합니다. 이 예제에서 변수 i는 버튼과 동일한 타임라인에 있어야 합니다. 예를 들어, 변수 i가 5인 경우에는 my_mc 무비 클립에서 piece5 변수의 값이 출력 패널에 표시됩니다.
myBtn_btn.onRelease = function() {
x = my_mc["piece"+i];
trace(x);
};
다음 예제에서는 대괄호 내의 표현식을 평가한 후 그 결과를 name_mc무비 클립에서 가져올 변수의 이름으로 사용합니다.
name_mc["A" + i];
Flash 4 ActionScript 슬래시 구문에 익숙한 사용자는 eval() 함수를 사용하여 같은 결과를 얻을 수 있습니다.
eval("name_mc.A" & i);
다음 ActionScript를 사용하면 _root 범위 내의 모든 객체를 반복할 수 있으므로 디버깅할 때 유용합니다.
for (i in _root) {
trace(i+": "+_root[i]);
}
대입문의 왼쪽에 배열 액세스 연산자([])를 사용하여 인스턴스, 변수 및 객체 이름을 동적으로 설정할 수도 있습니다.
employee_array[2] = "Sam";