我們非常清楚變量是存儲值的容器。有時,開發人員可以一次在單個變量中保存多個值。當一系列值存儲在單個變量中時,它稱爲數組變量。
Array Declaration
數組的聲明方式與變量的聲明方式相同,只是數組變量的聲明使用括號。在下面的示例中,括號中提到了數組的大小。
'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,但它可以保留6個值,因爲數組索引從零開始。
數組索引不能爲負。
VBScript數組可以在數組中存儲任何類型的變量。因此,數組可以在單個數組變量中存儲整數、字符串或字符。
Assigning Values to an Array
通過對每個要分配的值指定數組索引值,將這些值分配給數組。它可以是一根繩子。
Example
<!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
Multi Dimension Arrays
數組不僅限於一維,而且最多可以有60維。二維數組是最常用的數組。
Example
在下面的示例中,多維數組聲明爲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 Statement
ReDim語句用於聲明動態數組變量並分配或重新分配存儲空間。
ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
Preserve−一個可選參數,用於在更改最後一個維度的大小時保留現有數組中的數據。
varname−一個必需的參數,表示變量的名稱,它應該遵循標準的變量命名約定。
下標−一個必需的參數,指示數組的大小。
Example
在下面的示例中,已重新定義數組,然後在更改數組的現有大小時保留值。
注意−調整比原來小的數組的大小時,刪除的元素中的數據將丟失。
<!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
Array Methods
VBScript中有多種內置函數,可以幫助開發人員有效地處理數組。下面列出了與數組結合使用的所有方法。請單擊方法名稱以了解詳細信息。