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")
- An array can always hold one more value than specified, as the array starts at ZERO which is not included in the count.
- The size cannot be negative.
- 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