📅  最后修改于: 2020-11-19 09:12:47             🧑  作者: Mango
我们非常清楚变量是存储值的容器。有时,开发人员可以一次在单个变量中保留多个值。当一系列值存储在单个变量中时,则称为数组变量。
声明数组的方式与声明变量的方式相同,只不过声明数组变量使用括号。在下面的示例中,括号中提到了数组的大小。
'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数组可以在数组中存储任何类型的变量。因此,数组可以在单个数组变量中存储整数,字符串或字符。
通过针对要分配的每个值指定一个数组索引值,将这些值分配给该数组。它可以是一个字符串。
添加一个按钮并添加以下函数。
Private Sub Constant_demo_Click()
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
msgbox("Value stored in Array index 0 : " & arr(0))
msgbox("Value stored in Array index 1 : " & arr(1))
msgbox("Value stored in Array index 2 : " & arr(2))
msgbox("Value stored in Array index 3 : " & arr(3))
msgbox("Value stored in Array index 4 : " & arr(4))
msgbox("Value stored in Array index 5 : " & arr(5))
End Sub
当您执行上述函数,它将产生以下输出。
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个维度。二维数组是最常用的数组。
在以下示例中,声明了具有3行4列的多维数组。
Private Sub Constant_demo_Click()
Dim arr(2,3) as Variant ' 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"
msgbox("Value in Array index 0,1 : " & arr(0,1))
msgbox("Value in Array index 2,2 : " & arr(2,2))
End Sub
当您执行上述函数,它将产生以下输出。
Value stored in Array index : 0 , 1 : Orange
Value stored in Array index : 2 , 2 : coffee
ReDim语句用于声明动态数组变量以及分配或重新分配存储空间。
ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
Preserve-一个可选参数,用于在更改最后一个维度的大小时将数据保留在现有数组中。
Varname-必需的参数,表示变量的名称,应遵循标准变量命名约定。
下标-必需的参数,指示数组的大小。
在以下示例中,已重新定义了数组,然后在更改数组的现有大小时保留了值。
注–在调整比原来小的数组的大小时,消除的元素中的数据将丢失。
Private Sub Constant_demo_Click()
Dim a() as variant
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
End Sub
当您执行上述函数,它将产生以下输出。
XYZ
41.25
22
3
4
5
6
7
VBScript中有各种内置函数,可帮助开发人员有效地处理数组。下面列出了与数组结合使用的所有方法。请单击方法名称以详细了解它。
Sr.No. | Function & Description |
---|---|
1 |
LBound
A Function, which returns an integer that corresponds to the smallest subscript of the given arrays. |
2 |
UBound
A Function, which returns an integer that corresponds to the largest subscript of the given arrays. |
3 |
Split
A Function, which returns an array that contains a specified number of values. Split based on a delimiter. |
4 |
Join
A Function, which returns a string that contains a specified number of substrings in an array. This is an exact opposite function of Split Method. |
5 |
Filter
A Function, which returns a zero based array that contains a subset of a string array based on a specific filter criteria. |
6 |
IsArray
A Function, which returns a boolean value that indicates whether or not the input variable is an array. |
7 |
Erase
A Function, which recovers the allocated memory for the array variables. |