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.