Arrays
(matrizes) proporcionam um modo eficiente para organizar e acessar
dados em um filme Flash. Atualmente, campos de texto são necessários
para mostrar dados ao usuário, mas, internamente, é sempre
útil armazenar e manipular dados repetitivos (ou dados repetidamente
estruturados) em uma array.
Criar/Construir
uma Array
Se
você souber o conteúdo da sua Array quando o filme
começa (ou mesmo seu conteúdo inicial), você poderá
criar uma Array simplesmente determinando elementos para ela,
assim:
macarrao
= ["spaghetti","tubetti","farfalle","ziti","penne"]; |
Isso
criará uma variável (macarrao) que é uma Array
com 5 elementos, cada um dos quais é uma string. Os elementos
são acessados através de índices numéricos,
começando com 0, seguindo pelo comprimento da Array, menos
um (macarrao.length -1). Assim, para modificar o quarto elemento do
Array, por exemplo, você poderá usar uma instrução
como essa:

Nesse
exemplo, os elementos de conteúdo da Array são
strings. Os elementos de conteúdo podem ser de qualquer tipo
de dados, incluindo números inteiros, strings, arrays, valores
boleanos ou objetos. Entretanto, para ser uma Array verdadeira
(nas quais os métodos de objeto Array serão aplicados),
os índices devem ser números inteiros. Caso os índices
sejam strings, então o objeto não será um
objeto de Array, mas um Objeto objeto. Leia mais sobre
as diferenças entre Estruturas e Objetos na terceira parte desse
tutorial.
Voltando
ao exemplo acima - aqui estão algumas instruções
exemplo que acessam vários elementos e propriedades da Array:
trace("primeiro
tipo de macarrão é " + macarrao[0]);
trace("número de tipos de macarrão: " +
macarrao.length);
trace("último tipo de macarrão é "
+ macarrao[4]); |
produzirá
esta saída:
primeiro
tipo de macarrão é spaghetti
número de tipos de macarrão: 5
último tipo de macarrão é penne |
Se
você souber que vai precisar de uma Array, mas não
conhece nenhum dos elementos, poderá criar uma Array em branco
com uma dessas duas declarações:
cartItems
= new Array();
ou
cartItems = []; |
Você
pode também criar uma Array a partir de uma string,
utilizando o método String Split e especificando
um delimitador de caractere simples para usar para definir os elementos.
Isso pode ser especialmente útil quando tiver que ler dados retornados
de um script serverside.
y
= "maple:pine:oak:birch";
woodSpecies = y.split(":");
trace(woodSpecies[2]);
saída --> oak
|
(Existe,
também, um método Array Join que faz o oposto
- cria uma string a partir de elementos Array)
Adicionar
/ apagar / mudar elementos em uma Array
A
seguir mostramos alguns dos métodos disponíveis para Arrays,
utilizando um exemplo para ilustrar:
Criar
uma Array de 3 elementos de fontes de informação:
var
infoSources = ["google","about.com","altavista"];
trace("array infoSources has " + infoSources.length
+ " elements");
saída
--> a Array infoSources tem 3 elementos
|
Use
o método Push para adicionar um outro elemento no final da Array
infoSources.push("metacrawler");
trace(infoSources);
saída
--> google,about.com,altavista,metacrawler
|
Note
que chamar um Trace numa Array faz com que todos os elementos
sejam descarregados como strings, um de cada vez, separados por
vírgulas.
O
oposto do método Push é o Pop, o qual remove
o último elemento de uma estrutura.
Uso
do Método reverso para reverter a ordem da Estrutura.
infoSources.reverse();
trace("first element is now " + infoSources[0]);
saída
--> o primeiro elemento é agora metacrawler
|
Uso
do Splice (juntar) para inserir elementos no meio da Array
infoSources.splice(2,
0, "atomz", "lycos");
trace(infoSources);
saída
--> metacrawler,altavista,atomz,lycos,about.com,google
|
O
número 2 especifica que a ação de juntar
começará no terceiro elemento da Array; o número
0 especifica que nenhum dos elementos será apagado (visto
que Splice pode ser usado de dois modos, para adicionar elementos
para, ou apagar elementos de uma Array); os dois últimos
parâmetros são elementos da Array a inserir dentro da Array.
A próxima página (em breve) tratará das Arrays
de classificação (sorting) e multidimensionais.