VBScript-배열

어레이 란?

우리는 변수가 값을 저장하는 컨테이너라는 것을 잘 알고 있습니다. 때때로 개발자는 한 번에 하나의 변수에 둘 이상의 값을 보유 할 수 있습니다. 일련의 값이 단일 변수에 저장되면이를array variable.

배열 선언

배열은 괄호를 사용하는 배열 변수 선언을 제외하고는 변수가 선언 된 것과 동일한 방식으로 선언됩니다. 다음 예에서 배열의 크기는 괄호 안에 언급되어 있습니다.

'Method 1 : Using Dim
Dim arr1() 'Without Size

'Method 2 : Mentioning the Size
Dim arr2(5) 'Declared with size of 5

'Method 3 : using 'Array' Parameter
Dim arr3
arr3 = Array("apple","Orange","Grapes")
  • 배열 크기는 5로 표시되지만 배열 인덱스가 ZERO부터 시작하므로 6 개의 값을 보유 할 수 있습니다.

  • 배열 색인은 음수 일 수 없습니다.

  • VBScript 배열은 배열에 모든 유형의 변수를 저장할 수 있습니다. 따라서 배열은 단일 배열 변수에 정수, 문자열 또는 문자를 저장할 수 있습니다.

배열에 값 할당

값은 할당 할 값 각각에 대해 배열 인덱스 값을 지정하여 배열에 할당됩니다. 문자열 일 수 있습니다.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim arr(5)
         arr(0) = "1"            'Number as String
         arr(1) = "VBScript"     'String
         arr(2) = 100            'Number
         arr(3) = 2.45           'Decimal Number
         arr(4) = #10/07/2013#   'Date
         arr(5) = #12.45 PM#     'Time

         document.write("Value stored in Array index 0 : " & arr(0) & "<br />")
         document.write("Value stored in Array index 1 : " & arr(1) & "<br />")
         document.write("Value stored in Array index 2 : " & arr(2) & "<br />")
         document.write("Value stored in Array index 3 : " & arr(3) & "<br />")
         document.write("Value stored in Array index 4 : " & arr(4) & "<br />")
         document.write("Value stored in Array index 5 : " & arr(5) & "<br />")

      </script>
   </body>
</html>

위의 코드를 .HTML로 저장하고 Internet Explorer에서 실행하면 다음과 같은 결과가 생성됩니다.

Value stored in Array index 0 : 1
Value stored in Array index 1 : VBScript
Value stored in Array index 2 : 100
Value stored in Array index 3 : 2.45
Value stored in Array index 4 : 7/10/2013
Value stored in Array index 5 : 12:45:00 PM

다차원 배열

배열은 단일 차원으로 제한되지 않으며 최대 60 개의 차원을 가질 수 있습니다. 2 차원 배열이 가장 일반적으로 사용되는 배열입니다.

다음 예에서 다차원 배열은 3 개의 행과 4 개의 열로 선언됩니다.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim arr(2,3)	' Which has 3 rows and 4 columns
         arr(0,0) = "Apple" 
         arr(0,1) = "Orange"
         arr(0,2) = "Grapes"           
         arr(0,3) = "pineapple" 
         
         arr(1,0) = "cucumber"           
         arr(1,1) = "beans"           
         arr(1,2) = "carrot"           
         arr(1,3) = "tomato"    
         
         arr(2,0) = "potato"             
         arr(2,1) = "sandwitch"            
         arr(2,2) = "coffee"             
         arr(2,3) = "nuts"            
                  
         document.write("Value in Array index 0,1 : " &  arr(0,1) & "<br />")
         document.write("Value in Array index 2,2 : " &  arr(2,2) & "<br />")

      </script>
   </body>
</html>

위의 코드를 .HTML로 저장하고 Internet Explorer에서 실행하면 다음과 같은 결과가 생성됩니다.

Value stored in Array index : 0 , 1 : Orange
Value stored in Array index : 2 , 2 : coffee

Redim 성명

ReDim 문은 동적 배열 변수를 선언하고 저장 공간을 할당하거나 재 할당하는 데 사용됩니다.

ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
  • Preserve − 마지막 차원의 크기를 변경할 때 기존 배열의 데이터를 보존하는 데 사용되는 선택적 매개 변수.

  • varname − 표준 변수 이름 지정 규칙을 따라야하는 변수 이름을 나타내는 필수 매개 변수.

  • subscripts − 배열의 크기를 나타내는 필수 매개 변수.

아래 예에서는 배열이 재정의 된 후 기존 배열 크기가 변경 될 때 값이 보존됩니다.

Note − 원래보다 더 작은 배열의 크기를 조정하면 제거 된 요소의 데이터가 손실됩니다.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim a()
         i = 0
         redim a(5)
         a(0) = "XYZ"
         a(1) = 41.25
         a(2) = 22
           
         REDIM PRESERVE a(7)
         For i = 3 to 7
         a(i) = i
         Next
           
         'to Fetch the output
         For i = 0 to ubound(a)
            Msgbox a(i)
         Next
      </script>
   </body>
</html>

위의 스크립트를 HTML로 저장하고 Internet Explorer에서 실행하면 다음과 같은 결과가 나옵니다.

XYZ
41.25
22
3
4
5
6
7

배열 방법

VBScript에는 개발자가 배열을 효과적으로 처리하는 데 도움이되는 다양한 내장 함수가 있습니다. 배열과 함께 사용되는 모든 방법은 다음과 같습니다. 자세히 알고 싶은 분석법 이름을 클릭하십시오.

함수 기술
LBound 주어진 배열의 가장 작은 첨자에 해당하는 정수를 반환하는 함수.
UBound 주어진 배열의 가장 큰 첨자에 해당하는 정수를 반환하는 함수.
스플릿 지정된 수의 값을 포함하는 배열을 반환하는 함수입니다. 구분 기호에 따라 분할됩니다.
어울리다 배열에 지정된 수의 하위 문자열을 포함하는 문자열을 반환하는 함수입니다. 이것은 Split Method의 정반대 기능입니다.
필터 특정 필터 기준에 따라 문자열 배열의 하위 집합을 포함하는 0 기반 배열을 반환하는 함수입니다.
IsArray 입력 변수가 배열인지 여부를 나타내는 부울 값을 반환하는 함수입니다.
삭제 배열 변수에 할당 된 메모리를 복구하는 함수.