[] 배열 액세스 연산자

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";

참고 사항

Array, Object, eval 함수