Responder a este comentário

Array - Por Rafael Lima

Artigo sobre array que meu grande amigo Rafael Lima escreveu.

Array são matrizes (variáveis ou contêiner) que carregam vários tipos de dados

Dentro de si.

Uma Array pode conter dados como variáveis (Strings, Numéricas e Boleanas).

 

objetos (MovieClipes, Sons, Objetos e Arrays)

 

Existe dois tipos de arrays, as Literárias e as Standarts

Sintaxe para criar uma array Literária em AS2
 

var meuArray:Array = [“Rafael”, “Daiana”, “Silvia”];
 

Sintaxe para criar uma array Standarts em AS2

var meuArray:Array = new Array();

meuArray[0] = “Rafael”;
 

Tanto a Literária como a Standarts funcionam no mesmo modo.

A única diferencia é que a standarts cria uma array vazia que precisa ser

adicionado valores para ela e indicando que posição esses valores vão ocupar

a array.

 

Toda array tem o seu índice inicial representado pelo valor 0.

Por tanto, quando queremos inserir um valor inicial dentro de uma array, caso ela seja Standarts é preciso usar a seguinte sintaxe: 

meuArray[0] = valor;

A sintaxe acima significa que estamos adicionando um valor no inicio de uma array.

Para conseguir um valor específico de dentro de uma array podemos usar O seguinte:

 1 - var meuArray:Array = [“Rafael”, “Daiana”, “Silvia”];
trace(meuArray[0]);

 2 - var meuArray:Array = [“Rafael”, “Daiana”, “Silvia”];
trace(meuArray[2]);

1-OutPut nos retornaria o valor “Rafael”

2-OutPut nos retornaria o valor “Silvia”


Como foi dito acima toda array tem o seu valor inicial representado pelo numero 0 ficando em sua sintaxe desse modo abaixo:

 Rafael = 0 , Daiana = 1, Silvia = 2


Length();
 

Para recuperar o tamanho de uma array utilizamos o método chamado

 Length. Veja o código:

var meuArray:Array = [“Rafael”, “Daiana”, “Silvia”];

trace(meuArray.length); 

Com isso a janela de saída (Output) nos retornaria o valor três;

 var meuArray:Array = [“Rafael”, “Daiana”, “Silvia”];

Rafael = 0 , Daiana = 1, Silvia = 2

 

Podemos também adicionar valores a uma array já definida

 

Veja o código abaixo:

var Lista = ["Rafael", "Daiana"];

Lista[2] = "Silva";

trace(Lista.length); 

O código acima mostra que criamos uma array contendo dois valores

 Rafael[0] e Daiana [1]

Então adicionamos um terceiro valor [2] (Lembrando que todo array começa com 0)

Então o mesmo tem o valor de 0=(Rafael), 1=(Daiana), 2=(Silvia)

No total de 3 valores!


Podemos também usar um outro método para adicionar valores a uma array

Veja o exemplo:

Vamos colocar valores vazios dentro de uma array.

Criaremos uma array com 2 valores e em seguida usaremos o método length

para adicionar (Definir) o numero de valores que a array (Lista) vai ter no total;

var Lista = ["Rafael", "Daiana"];

Lista.length = 50;

Agora a nossa array de nome “Lista” tem o seu tamanho definido em 50.

Porem apenas, existem 2 valores definidos (Rafael[0], Daiana[1])

deixando 48 valores vazios para que possa serem inseridos posteriormente.

 

Push()

Também podemos usar o método push() para adicionar elementos no final de uma array

Veja um código de exemplo: 

var Lista = ["Rafael", "Daiana"];

Lista.push("Silvia"); 

trace(Lista[2]);
 

O trace vai nos retornar o valor Silvia.

Podemos adicionar vários valores (elementos a uma array usando o método push)

Veja mais um código:

var Lista = ["Rafael", "Daiana"];

Lista.push("Silvia", “Ivonete”, “Joyce”); 

trace(Lista[4]); 

O trace vai nos retornar o valor Joyce.


Como foi dito anteriormente podemos adicionar quaisquer tipo de Elementos (valores) tais como:

 

Números, String, Objetos e Array

O método push() sempre vai adicionar os elementos no final de cada Array.

 

Unshift() 

Um outro meio para adicionar elementos em uma array é usando o método unshift()

Esse método adiciona (concatena) valores no inicio de uma array veja um código

De exemplo: 

var verFlash:Array = new Array();

verFlash[0]=6;

verFlash.unshift(5);

trace(verFlash);

Criamos uma array vazia e demos um valor inicial ( [0] ) de 6 na Array (verFlash).

Abaixo (verFlash.unshift(5)) utilizamos o método unshift para adicionar (concatenar)

Um valor ao inicio da array. 

Por tanto ao usarmos unshit pra adicionar valores, os mesmo ocuparão a posição inicial de uma array. Ou seja, a posição 0 [0].

 

Splice()

 

O método splice serve para remover e adicionar valores em uma array.

Esse método remove e adiciona valores a uma array ao mesmo tempo.

Veja sua sintaxe: 

nomedaArray.splice(0,1, valor1,valor2);

0 = Numero da posição da array que vamos começar a apagar. 

1 = Quantidades de valores que iremos apagar na array. 

valor1 = Aqui adicionamos um novo valor que vai entrar no lugar do valor que será apagado

valor2 = Aqui adicionamos um novo valor que vai entrar no lugar do valor que será apagado
 

Vamos a uma explicação mais detalhada:

Primeiro colocamos de onde será o inicio que o método splice vai começar a apagar.

Indicamos que esse inicio é 0. Ou seja vai ser o primeiro valor que estiver na array.

Depois quantos valores serão apagado iniciando pelo valor 0.

colocamos o valor 1 então apenas o valor 0 será apagado na array.

Em seguida atribuímos um valor (valor1) que vai se inserido na array assim que definimos quais e quantos valores vão ser apagados.

 Adicionamos um outro valor (valor2) que vai se inserido na array assim que definimos quais e quantos valores vão ser apagados na array


Veja uma pratica:

 var meuArray:Array = [“Rafael”, “Daiana”, “Silvia”, “Joyce”];

 meuArray.splice(1,2, “Carla”, “Bruna”);

 trace(meuArray);

 O output me retornaria Rafael, Carla, Bruna, Joyce.

 

Escolhemos a partir de onde iríamos começar a apagar (1) Depois indicamos a quantidade de valores que iríamos remover (2) ou seja apagamos os valores

 

“Daiana” e “Silvia”.

 Pois Daiana tem a sua posição na array definida como 1 e a quantidade de valores que devem ser apagados é 2 então iremos apagar Daiana = 1 e Silvia = 2

 Em seguida adicionamos 2 valores a mais “Carla” e “Bruna”.

 

Concat();

O método concat é muito parecido com o método push() pois ele adiciona valores no final de uma array. Porem ele tem uma outra função que é copiar todos os elementos de uma array para que possa se inserida em uma outra array posteriormente.

Veja um exemplo Abaixo:

var miLista= [“Rafael”, “Daiana”, “Silvia”]

miLista.concat(“Joyce”);

trace(miLista);

O trace nos retornaria o seguinte resultado 

(Rafael, Daiana, Silvia);

Como você deve ter percebido é que diferente do método push ele apenas copia para então colocar (ser inserido) em uma outra array para que os dados copiados possam funcionar é preciso criar uma outra array que comporte o valor da array anterior.

Veja um exemplo disto em sintaxe:

var miLista = [“Rafael”, “Daiana”, “Silvia”]

var miLista2 = miLista.concat(“Outro nome”);

trace(miLista2);

Agora a array de nome miLista2 tem todos os valores da array miLista

E ainda com o método concat() foi adicionado um outro valor após o ultimo elemento da array miLista sendo que a array miLista ainda estar intacta com os seu valores

Inalterados.

Resumindo a array miLista2 copiou todos os valores da array miLista e ainda adicionou um outro elemento (Outro nome) usando o método concat();

 

POP();

 Esse método é usado para remover o ultimo elemento de uma array

 Veja a sintaxe abaixo:

 var Lista:Array = [“Rafael”, “Daiana”, “Silvia”];

Lista.pop();

trace (Lista); 

O exemplo acima nos retornaria na janela de output o valor Rafael, Daiana.

Pois com o método pop ele apenas remove o ultimo elemento de uma array.

Obs: Esse método é muito útil pra criar uma variável com o ultimo valor de uma array.

 Ficando a seguinte sintaxe:

var Lista:Array = [“Rafael”, “Daiana”, “Silvia”];

var Lista2 = (Lista.pop());

trace(Lista2);

No código acima eu paguei o ultimo elemento da array crie uma array chamada

Lista e adicionei 3 elementos (Rafael, Daiana, Silvia)

 Logo abaixo criei uma variável que vai conter o elemento da array Lista deletado.

 

 Ferramentas Gerais de Array;

O ActionScript também oferece métodos integrados para adicionar, eliminar ou reordenar elementos de uma array.

 

reverse();

O método reverse(), serve para inverter a ordem do conteúdo de uma array

Vejamos um exemplo prático:

Var Lista:Array= [1,2,3,4]

Lista.reverse( );

trace(Lista);

O output nos retornaria o valor (4,3,2,1);

Esse método é muito usado quando queremos fazer uma contagem (de maior para o menor e de menor para o maior);

Bastando apenas o método reverse() para alterar a ordem

 

sort();

O método sort(), reorganiza a ordem de conteúdo de uma array alfabeticamente.

Vejamos um exemplo: 

var Lista:Array = [“Rio de Janeiro”, “São Paulo”, “Curitiba”];

 Lista.sort( );

 trace(Lista);

 O resultado do output nos retornaria o valor Curitiba,Rio de Janeiro,São Paulo;

 Uma observação: O actionscript da preferência aos caracteres em maiúsculo.

 por tanto se o Curitiba estive-se com o C em minúsculo ( c ) ele apareceria por último.

 

slice();

  

O método slice() é parecido com o método Splice() porem com a diferença que o

 método slice() não apaga valores de uma array.

 Ou seja, ele apenas recupera valores de uma determinada array para que possa

 Ser inseridos em uma nova array ou variáveis

 Em sintaxe:

var minhaArray:Array = [valor1, valor2, valor3]

minhaArray.slice(inicio, fim); 

inicio = numero de ordem pelo qual devemos começar a pegar os valores.

 fim = numero de ordem pelo qual devemos terminar de pegar os valores.

Em prática:

var Lista:Array = ["a","b","c","d","e","f"];

primeira = Lista.slice(1,3);

trace(primeira); 

Na primeira linha criamos uma array e atribuímos determinados valores.

 Na segunda linha criamos uma nova array (ou variável) e lhe atribuirmos (=)

 O valor da array Lista com o método slice(), que começou a pegar pela ordem dos valores do 1 e finalizou com o 3.

 Como todos os já sabemos que toda array tem o seu índice (inicio) iniciado pelo 0,

 Então começamos pelo valor “b” e terminamos no “c”.

Com isso o output nos retornaria o os valores (“b”, “c”);

Apesar de ser (1,3) o resultado tende terminar um numero antes.

pois o 3 seria o “d”. Mas o d é apenas aonde seria o seu limite. Ou seja, até aonde;

o método slice iria poder pegar valores. 

 

Join();

O método join( ) converte valores de uma array em uma string (texto).

Ou seja, ele concatena todos os valores de uma array e uma única String (frase)

Separando-as com um caractere desejado. Esse caractere pode ser chamado de delimitador.

 Vejamos isso em Sintaxe:

var Lista = ["Rio de Janeiro", "São Paulo", "Brasília"]

 trace(Lista.join(", "));

 Convertemos todos os valores de uma array em uma única String ou digamos:

 Frase. Que na qual ficou: Rio de Janeiro, São Paulo, Brasília.

 Todos separados por virgula ( , ) e espaço formando uma frase única.

 Vejamos um outro exemplo:

 var Frase = [“Adobe”, “Flash”, “Player”];

 trace(Frase.join(“ “));

 A janela de output do flash nos retornaria o resultado:

 Adobe Flash Player

O Delimitador pode ser qualquer caractere ou pode ser vazio também.

 Pois é com ele que você vai decidir qual caractere usar para separar os valores

 da array convertidos em uma String pelo método join().

Caso não usarmos nenhum delimitador, automaticamente o flash vai separar os valores com virgulas.

 

toString();

O método toString( ) é parecido com o método join()

Pois ele também concatena todos os valores de uma array em uma única frase.

porem sem o uso do delimitador. 

Veja sua sintaxe:

var Frase = [“Rio de Janeiro”, “São Paulo”, “Brasília”];

Frase.toString();

trace(Frase); 

Para podermos comprovar que a array Frase agora é uma String podemos usar o Operador typeof veja o exemplo;

var Lista = ["Rio de Janeiro", "São Paulo", "Brazilia"];

var valor = Lista.toString();

trace(typeof valor);

Criamos uma array (Lista) com determinados valores (Rio, São Paulo, Brasília);

criamos uma nova variável chamada valor que vai conter os valores da array

(Lista) usando o método toString. 

E depois usamos um trace com o operador typeof para saber qual tipo de variável seria o variável “valor”. Que no qual o output do flash nos retornou String.

 

0
Your rating: Nenhum

Responder

O conteúdo deste campo é privado não será exibido ao público.