Lavorare con gli Array in Actionscript 3.0

(scritto da , il giorno 11-03-2008 01:38)
add to my flexgala

Gestire gli Array tramite Actionscript 3 permette di lavorare le informazioni in maniera più dinamica e veloce. Pensiamo ad applicazioni che necessitino di un enorme mole di informazioni e variabili. O anche di applicativi che richiamino informazioni dall'esterno (variabili o file XML). Gli Array (o vettori) permettono una gestione molto più flessibile e performante del lavoro. Vediamo come.

Gestire gli Array tramite Actionscript 3 permette di lavorare le informazioni in maniera più dinamica e veloce. Pensiamo ad applicazioni che necessitino di un enorme mole di informazioni e variabili. O anche di applicativi che richiamino informazioni dall'esterno (variabili o file XML).
Gli Array (o vettori) permettono una gestione molto più flessibile e performante del lavoro.

Per prima cosa, creiamo un Array:
<codice Flex 2/Actionscript 3>

  1. var mioArray:Array=new Array();
  2. mioArray=["Tizio", "Caio", "Sempronio"];

Sicuramente non è un Array così complesso. Tuttavia efficace per il nostro lavoro.
Intanto per cominciare possiamo notare come l'Array permetta di inserire più di un valore al suo interno (nel nostro caso 3 valori, ma ovviamente la lista poteva essere ben più lunga).
Questo tipo di Array viene anche definito "indicizzato". Infatti per richiamare un valore in esso contenuto, basta semplicemente  richiamare l'indice corrispondente al valore, considerando che il valore di partenza è lo 0!
Quindi per farsi restiutire a video "Tizio", dobbiamo scrivere:

<codice Flex 2/Actionscript 3>

  1. trace(mioArray[0]); // output: Tizio


A seguire: 1 per Caio, ecc...

NOTA: L'uso degli Array è importante anche per altre classi. Ad esempio la classe Date ha un metodo (getMonth()) che altro non è che un Array di 12 valori ( da 0 a 11) dei mesi dell'anno: Gennaio è 0, Febbraio è 1, ... Dicembre è 11.

Ovviamente la classe Array ha tutta una serie di metodi e proprietà molto utili. Ad esempio, la proprietà "length" permette di calcolare la quantità di valori in esso inseriti.
Accostando questa proprietà ad un semplice ciclo "for" possiamo farci restiutire a video tutti i valori:

<codice Flex 2/Actionscript 3>

  1. for(var i:Number=0; i<mioArray.lenght; i++)
  2. {
  3. trace(mioArray[i]);
  4. }


Se proviamo questo breve codice vedremo appunto a video tutti i valori in esso inseriti.

Gli Array possono, non solo avere molti elementi, ma di ciascuno possiamo indicare anche altri "informazioni". Vediamo ad esempio l'array precedente modificato nella seguente maniera:

<codice Flex 2/Actionscript 3>

  1. var mioArray:Array=new Array();
  2. mioArray=[["Tizio", "Rossi"], ["Caio", "Bianchi"], ["Sempronio","Verdi"]];


Come vedete a ciascun valore abbiamo aggiunto una dimensione. Abbiamo infatti messo più dimensioni per ogni valore (nome e cognome).
Tuttavia l'elenco sarebbe potuto essere più lungo (ad esempio: mail, telefono, ecc...).

Quello che abbiamo difronte è "come" fosse una sorta di Array di Array (egualmente consentito in Actionscript). Questo vuol dire che ora l'indice: mioArray[0], non è più solo "Tizio" bensì "Tizio Rossi".
Se voglio richiamare solo uno dei due valori, ... il giro ricomincia, quindi "Tizio" sarà il valore 0 e "Rossi" l'1.
Concludendo: se voglio farmi restituire solo "Rossi", dovrò scrivere:

<codice Flex 2/Actionscript 3>

  1. trace(mioArray[0][1]);

Ed il gioco è fatto.

In Actionscript, tuttavia esistono anche i cosidetti Array "associativi". Con questo intendiamo Array per i quali è sufficiente indicare un'associazione (oltre che l'indice) per farsi restituire un valore.
Questo non significa che sia più complesso... ma andiamo con ordine.
Consideriamo il seguente caso:
<codice Flex 2/Actionscript 3>

  1. mioArray.push({nome:"Fabio", cognome:"Bernardi", email:"fabio@mail.it});
  2. mioArray.push({nome:"Mario", cognome:"Rossi", email:"mario@mail.it});
  3. mioArray.push({nome:"Paolo", cognome:"Verdi", email:"mario@mail.it});


Così facendo invece di richiamare un doppio indice, come nel caso precedente, posso utilizziare l'indice (nel nostro esempio "nome" o "cognome" o "email"), così:

<codice Flex 2/Actionscript 3>

  1. trace(mioArray[1].nome);


e l'output di tale valore sarà ovvaimente "Mario".
Ovviamente non c'è un modo "corretto" e uno "scorretto" di uso degli Array. Entrambi possono essere validi. Dipende sempre solo ed esclusivamente da come si gestiscono tali informazioni.

Nel codice appena sovraesposto abbiamo inoltre utilizzato il metodo "push". Questo metodo permette di inserire (a partire dall'ultimo valore) un nuovo valore.
Riguardo ai metodi e alle proprietà dell'Array, rimandiamo ad un nostro precedente post.


Commenti (0)

Registrati ed esegui il login se vuoi lasciare un commento

Visualizza l'articolo in formato pdfScarica o stampa l'articolo "Lavorare con gli Array in Actionscript 3.0" in formato PDF

Torna indietro
Per collaborazioni, proposte, segnalazioni scrivete a:

Javaday 2010




  •  
    Articoli
     
  •  
    Blogs
     
  •  
    Eventi
     
  •  
    Layout
     
  •  
    in più
     
 

Utilizzare i Charts components in Flex 3 - I° parte (07-01-2010)
Una delle potenzialità messe a disposizione nel Flex Builder, nelle Flex SDK e nel futuro Flash Builder, è la possibilità di utilizzare i Charts...

JavaDay a Roma il 30 gennaio 2010 (11-12-2009)
Anche quest'anno si terrà a Roma - presso l'Università di Roma Tre - l'attesissimo evento JAVADAY oggi giunto alla 4° edizione. Una full...

Adobe AIR 2 beta su Adobe Labs (09-12-2009)
Già da qualche giorno è disponibile la nuova versione beta di Adobe AIR. Molte sono le novità che questa release presenta. Anzitutto, dato il...

FITC 2010: pronti per la 3° edizione! (22-11-2009)
Nel 2010 si terrà ad Amsterdam il 22 e 23 febbraio: segnate queste date sulla vostra agenda, mi raccomando! E' assolutamente vietato mancare! E...

Verso la creazione di Rich Web Applications con le novità di Spring 3.0 e l'integrazione con Adobe Flex (18-11-2009)
Un evento unico, completamente gratutito, condensato in 3 ore dense di contenuti e anteprime. Per la prima volta in Italia verrà presentata...

Nuovi e-seminar per FlexGALA in calendario (09-11-2009)
Come preannunciato lo scorso settembre, alla ripresa post-vacanze, eccoci con il primo appuntamento al quale faranno seguito altri eventi in...

Working on New and Legacy topics in the same time.
Author : Flexblog by Faratasystems

This very long weekend I was working on my presentations for upcoming Flex symposium in New York City. I have two topics there that should have...


continua...

Microsoft SharePoint 2010 Administrator's Companion
Author : O'Reilly New Books

Get comprehensive information to plan, deploy, administer, and support SharePoint 2010. With this ADMINISTRATOR'S COMPANION, you get...


continua...

apri dettaglio news Programming Windows Identity Foundation
Author : O'Reilly New Books


apri dettaglio news Steal This Computer Book 4.0
Author : O'Reilly New Books


JavaDay IV edizione

Data di svolgimento: 30-01-2010

A day in a differtent universe è quello che si...

Rich Web Applications con Spring Training

Data di svolgimento: 30-11-2009

Un evento unico, completamente gratutito, conde...

WorkCity ospite allo SMAU 2009

Data di svolgimento: 21-10-2009

WorkCity, nato da un'idea del nostro collaborat...

Integrare LiveCycle DS nelle architetture Enterprise

Data di svolgimento: 27-11-2008

Livecycle DS e Flex 3 sono le soluzioni di ...

Live Cycle DS best practices: creare architetture per RIA

Data di svolgimento: 05-11-2008

Livecycle DS e Flex 3 rappresentano insieme il ...

Adobe e l\'Open Source: usare le tecnologie aperte di Adobe

Data di svolgimento: 28-10-2008

Non solo licenze a pagamento: Adobe ha detto sÃ...