Arrays

An array is a series of values held in a single variable.

Declaration

An array is declared in a similar way to variables, except that an array uses parenthesis to define a set number of values.

Below, the size of the array is stated in brackets:

Using Dim

Dim arr1() -Without Size

Mentioning the Size

Dim arr2(5)  -Declared with size of 5

Using 'Array' Parameter Dim arr3

arr3 = Array("UK","USA","CAD")

  1. An array can always hold one more value than specified, as the array starts at ZERO which is not included in the count.
  2. The size cannot be negative.
  3. A single array variable can hold multiple types of value, e.g. an integer, string or character.

Assigning Values to an Array

In order to assign values to an array, an array index value is added alongside each value of the 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>

When the above code is saved as .HTML and executed in Internet Explorer, it produces the following result:

  • 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

A VBScript array can have a maximum of 60 dimensions. Two-dimension arrays are the most common, however.

Example

In the below example, a multi-dimension array is declared with 3 rows and 4 columns.

<!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>

When the above code is saved as .HTML and executed in Internet Explorer, it produces the following result:

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

Redim Statement

ReDim Statements are used to declare dynamic-array variables and allocate storage space.

ReDim [Preserve]

An Optional parameter used to preserve the data in an existing array when you change the size of the last dimension.

varname(subscripts)

A Required parameter, which denotes Name of the variable, which should follow the standard variable naming conventions.

[varname(subscripts)]

A Required parameter, which indicates the size of the array.

Example

In the below example, an array has been redefined and then preserved the values when the existing size of the array is changed.

Note : Upon resizing an array smaller than it was originally, the data in the eliminated elements will be lost.

<!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>

When we save the above script as HTML and execute it in Internet Explorer, it produces the following result:

  • XYZ
  • 41.25
  • 22
  • 3
  • 4
  • 5
  • 6
  • 7