开发手册 欢迎您!
软件开发者资料库

VBScript - 数组

VBScript数组 - 从简单和简单的步骤学习VBScript,从基本到高级概念,包括概述,环境设置,基本语法,放置,在浏览器中启用VBScript,放置,变量,常量,操作符,决策,循环,事件,Cookie ,数字,字符串,数组,日期和时间,过程,对话框,正则表达式,面向对象,错误处理,表单验证和杂项声明。

什么是数组?

我们非常清楚变量是一个存储值的容器.有时,开发人员可以一次在一个变量中保存多个值.当一系列值存储在单个变量中时,它被称为数组变量.

数组声明

声明数组的方式与声明变量的方式相同,只是数组变量的声明使用括号.在下面的示例中,括号中提到了数组的大小.

'Method 1 : Using DimDim arr1() 'Without Size'Method 2 : Mentioning the SizeDim arr2(5) 'Declared with size of 5'Method 3 : using 'Array' ParameterDim arr3arr3 = Array("apple","Orange","Grapes")

  • 虽然数组大小表示为5,但它可以容纳6个值,因为数组索引从ZERO开始.

  • 数组索引不能为负数.

  • 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) & "")         document.write("Value stored in Array index 1 : " & arr(1) & "")         document.write("Value stored in Array index 2 : " & arr(2) & "")         document.write("Value stored in Array index 3 : " & arr(3) & "")         document.write("Value stored in Array index 4 : " & arr(4) & "")         document.write("Value stored in Array index 5 : " & arr(5) & "")         

当上述代码保存为.HTML并在Internet Explorer中执行时,它会产生以下结果 :

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

多维数组

数组不仅限于单个维度,最多可以包含60个维度.二维数组是最常用的数组.

示例

在以下示例中,多维数组声明为3行, 4列.

                  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) & "")         document.write("Value in Array index 2,2 : " &  arr(2,2) & "")         

当上述代码保存为.HTML并在Internet Explorer中执行时,它会产生以下结果 :

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

Redim语句

ReDim语句用于声明动态数组变量并分配或重新分配存储空间.

ReDim [Preserve] varname(subscripts) [, varname(subscripts)]

  • 保留 : 一个Optional参数,用于在更改最后一个维度的大小时保留现有数组中的数据.

  • varname : 必需参数,表示变量的名称,应遵循标准变量命名约定.

  • 下标 : 必需参数,表示数组的大小.

示例

在下面例如,一个数组已经重新定义,然后在更改现有数组大小时保留这些值.

注意 : 在调整比原来小的数组大小时,被删除元素中的数据将丢失.

                  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         

当我们将上述脚本保存为HTML并在Internet Explorer中执行时,它会产生以下结果.

XYZ41.252234567

数组方法

VBScript中有各种内置函数可以帮助开发人员有效地处理数组.下面列出了与数组一起使用的所有方法.请单击方法名称以了解详细信息.

FunctionDescription
LBound一个函数,返回一个对应的整数到给定数组的最小下标.
UBound一个函数,它返回一个对应于给定数组的最大下标的整数.
Split一个函数,它返回一个包含指定数量值的数组.基于分隔符拆分.
Join一个Function,它返回一个String,该String包含一个数组中指定数量的子串.这与Split方法完全相反.
Filter一个函数,它返回一个基于零的数组,该数组包含基于特定过滤条件的字符串数组的子集.
IsArray一个Function,它返回一个布尔值,指示输入变量是否为数组.
Erase一个函数,它可以恢复为数组变量分配的内存.