VBScript - Arrays
O que é um Array?
Sabemos muito bem que uma variável é um contêiner para armazenar um valor. Às vezes, os desenvolvedores podem manter mais de um valor em uma única variável por vez. Quando uma série de valores é armazenada em uma única variável, ela é conhecida comoarray variable.
Declaração de Array
Os arrays são declarados da mesma maneira que uma variável foi declarada, exceto que a declaração de uma variável de array usa parênteses. No exemplo a seguir, o tamanho da matriz é mencionado entre colchetes.
'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")
Embora o tamanho do array seja indicado como 5, ele pode conter 6 valores, pois o índice do array começa em ZERO.
O índice da matriz não pode ser negativo.
VBScript Arrays pode armazenar qualquer tipo de variável em um array. Portanto, um array pode armazenar um inteiro, string ou caracteres em uma única variável de array.
Atribuição de valores a uma matriz
Os valores são atribuídos à matriz especificando o valor do índice da matriz em relação a cada um dos valores a serem atribuídos. Pode ser uma string.
Exemplo
<!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>
Quando o código acima é salvo como .HTML e executado no Internet Explorer, ele produz o seguinte resultado -
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
Matrizes multidimensionais
As matrizes não se limitam apenas a uma única dimensão e podem ter no máximo 60 dimensões. Matrizes bidimensionais são as mais comumente usadas.
Exemplo
No exemplo a seguir, uma matriz multidimensional é declarada com 3 linhas e 4 colunas.
<!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>
Quando o código acima é salvo como .HTML e executado no Internet Explorer, ele produz o seguinte resultado -
Value stored in Array index : 0 , 1 : Orange
Value stored in Array index : 2 , 2 : coffee
Declaração de Redim
A instrução ReDim é usada para declarar variáveis de matriz dinâmica e alocar ou realocar espaço de armazenamento.
ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
Preserve - Um parâmetro opcional usado para preservar os dados em uma matriz existente quando você altera o tamanho da última dimensão.
varname - Um parâmetro obrigatório, que denota o nome da variável, que deve seguir as convenções de nomenclatura de variável padrão.
subscripts - Um parâmetro obrigatório, que indica o tamanho da matriz.
Exemplo
No exemplo a seguir, uma matriz foi redefinida e, em seguida, preservou os valores quando o tamanho existente da matriz foi alterado.
Note - Ao redimensionar um array menor que o original, os dados nos elementos eliminados serão perdidos.
<!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>
Quando salvamos o script acima como HTML e o executamos no Internet Explorer, ele produz o seguinte resultado.
XYZ
41.25
22
3
4
5
6
7
Métodos Array
Existem várias funções embutidas no VBScript que ajudam os desenvolvedores a lidar com matrizes de forma eficaz. Todos os métodos usados em conjunto com arrays estão listados abaixo. Clique no nome do método para saber mais detalhes.
Função | Descrição |
---|---|
LBound | Uma Função, que retorna um inteiro que corresponde ao menor subscrito das matrizes fornecidas. |
UBound | Uma função, que retorna um inteiro que corresponde ao maior subscrito dos arrays fornecidos. |
Dividido | Uma Função, que retorna uma matriz que contém um número especificado de valores. Dividido com base em um delimitador. |
Junte-se | Uma Function, que retorna uma String que contém um número especificado de substrings em uma matriz. Esta é uma função exatamente oposta ao método de divisão. |
Filtro | Uma Função, que retorna uma matriz baseada em zero que contém um subconjunto de uma matriz de string com base em um critério de filtro específico. |
IsArray | Uma Função, que retorna um valor booleano que indica se a variável de entrada é ou não uma matriz. |
Apagar | Uma função, que recupera a memória alocada para as variáveis do array. |