배열 사용

JScript에서는 몇 가지 형식의 배열을 사용할 수 있습니다. 다음은 이러한 배열들의 사용 방법과 특정 응용 프로그램에 적합한 배열을 선택하는 방법에 대한 설명입니다.

1차원 배열

다음 예제에서는 addressBook 배열의 첫 번째 요소와 마지막 요소에 액세스하는 방법을 보여 줍니다. 이 예제에서는 스크립트의 다른 부분에서 값을 정의하여 addressBook에 할당하는 것으로 가정합니다. JScript 배열의 인덱스는 0부터 시작하므로 배열의 첫 번째 요소는 0이고 마지막 요소는 배열 길이에서 1을 뺀 것입니다.

var firstAddress = addressBook[0];
var lastAddress = addressBook[addressBook.length-1];

배열의 배열과다차원 배열

배열의 배열 또는 다차원 배열에는 여러 인덱스에 의해 참조되는 데이터를 저장할 수 있습니다. 이 두 형식은 각각 고유한 기능을 가집니다.

배열의 배열은 각 하위 배열의 길이가 서로 다른 응용 프로그램에 유용합니다. 하위 배열을 쉽게 재구성할 수 있으므로 배열 요소를 정렬하는 데 도움이 됩니다. 그 대표적인 예가 달력입니다. Year 배열에는 12개의 Month 배열을 저장하고, 각 Month 배열에는 해당되는 수의 날짜에 관한 데이터를 저장합니다.

다차원 배열은 선언 시에 각 차원의 배열 크기를 아는 응용 프로그램에 유용하며, 속도와 메모리 사용 면에서 배열의 배열보다 효율적입니다. 다차원 배열은 형식화된 배열이여야 합니다. 대표적인 예는 수학 계산을 위해 사용하는 매트릭스입니다. 이 경우에는 배열 크기가 고정되어 있고 처음부터 알려져 있습니다.

JScript 배열 요소 루핑

JScript 배열은 밀도가 낮으므로 첫 번째 요소와 마지막 요소 사이에 많은 수의 정의되지 않은 요소가 있을 수 있습니다. 따라서 for 루프를 사용하여 배열 요소에 액세스하는 경우에는 각 요소가 undefined인지 확인해야 합니다.

그러나 다행히도 JScript에서는 JScript 배열의 정의된 요소에만 쉽게 액세스할 수 있는 for...in 루프를 제공합니다. 다음 예제에서는 밀도가 낮은 JScript 배열을 정의하고 for 루프와 for...in 루프를 모두 사용하여 요소를 표시합니다.

var a : Array = new Array;
a[5] = "first element";
a[100] = "middle element";
a[100000] = "last element";
print("Using a for loop. This is very inefficient.")
for(var i = 0; i<a.length; i++)
   if(a[i]!=undefined)
      print("a[" + i + "] = " + a[i]);
print("Using a for...in loop. This is much more efficient.");
for(var i in  a)
   print("a[" + i + "] = " + a[i]);

이 프로그램은 다음과 같이 출력됩니다.

Using a for loop. This is very inefficient.
a[5] = first element
a[100] = middle element
a[100000] = last element
Using a for...in loop. This is much more efficient.
a[5] = first element
a[100] = middle element
a[100000] = last element

참고 항목

참조

for...in 문

개념

배열의 배열

다차원 배열(Visual Studio - JScript)

기타 리소스

JScript 배열