我们非常清楚变量是存储值的容器.有时,开发人员可以一次在一个变量中保存多个值.当一系列值存储在单个变量中时,它被称为数组变量.
声明数组的方式与声明变量的方式相同,只是数组变量的声明使用括号.在下面的示例中,括号中提到了数组的大小.
'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个值,因为数组索引从ZERO开始.
数组索引不能为负数.
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)]
保留 : 一个可选参数,用于在更改最后一个维度的大小时保留现有数组中的数据.
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. | 功能&描述 |
---|---|
1 | LBound 一个函数,它返回一个对应于给定数组的最小下标的整数. |
2 | UBound 一个函数,它返回一个对应于给定数组的最大下标的整数./p> |
3 | Split 一个函数,它返回一个包含指定数量值的数组.基于分隔符拆分. |
4 | Join 一个函数,它返回一个包含的字符串数组中指定数量的子字符串.这与Split方法完全相反. |
5 | Filter 一个函数,返回基于零的数组,包含基于特定过滤条件的字符串数组的子集. |
6 | IsArray 一个Function,它返回一个布尔值,指示输入变量是否为数组. |
7 | Erase 一个函数,它恢复数组变量的已分配内存. |