Gli Array
Gli Array, possono essere paragonati a dei contenitori. Contenitori di Variabili e anche contenitori di altri Array, come vedremo negli Array Multidimensionali.
Gli Array sono un potente oggetto presente nell'ActionScript (ed in ogni linguaggio di programmazione ad oggetti) che potrà essere impiegato per i più svariati utilizzi.
Dichiarazione e Struttura
Essendo un oggetto, l'Array richiede una dichiarazione iniziale:
nomeArray = new Array();
in questo modo si crea un Array, ed inizialmente è vuoto
E' anche possibile dichiararlo e immettere i valori nello stesso tempo:
settimana = new Array("lunedì","martedì","mercoledì","giovedì","venerdì","sabato","domenica");
I giorni della settimana sono rappresentati da delle stringhe e nell'Array gli elementi saranno
ordinati in base ad un indice (che comincia da 0).
Si scrivono gli elementi degli Array solitamente con una sintassi più ordinata:
settimana = new Array();
settimana[0] = "lunedì";
settimana[1] = "martedì";
settimana[2] = "mercoledì";
settimana[3] = "giovedì";
settimana[4] = "venerdì";
settimana[5] = "sabato";
settimana[6] = "domenica";
E' lo stesso Array, i numeri nelle parentesi quadre rappresentano appunto l'indice.
Questa è un ulteriore sintassi abbreviata che è possibile usare nella manipolazione degli Array:
settimana = ["lunedì","martedì","mercoledì","giovedì","venerdì","sabato","domenica"];
l'unica proprietà che caratterizza l'Array è la lunghezza, che rappresenta il numero degli elementi contenuti:
settimana.length restituirà 7
Metodi
Con gli Array si possono utilizzare svariati metodi, che li rendono comodi e flessibili:
consideriamo per gli esempi un'ipotetica aula con 5 allievi iniziali, metteremo da principio i 5 nomi nell'Array:
var nomi = ["Giorgio","Luca","Andrea","Massimo","Marco"];
per aggiungere degli elementi abbiamo:
push - aggiunge uno o più elementi alla fine dell'Array:
nomi.push("Enrico","Astrid");
trace(nomi); //usiamo il trace per vedere il nuovo Array che sarà:
// "Giorgio,Luca,Andrea,Massimo,Marco,Enrico,Astrid"
unshift - aggiunge uno o più elementi all'inizio dell'Array;
nomi.unshift("Pippo");
// il nostro Array ora sarà: "Pippo,Giorgio,Luca,Andrea,Massimo,Marco,Enrico,Astrid"
per eliminare degli elementi abbiamo:
pop - rimuove l'ultimo elemento dell'Array
nomi.pop();
// il nostro Array ora: "Pippo,Giorgio,Luca,Andrea,Massimo,Marco,Enrico"
shift - rimuove il primo elemento dell'Array
nomi.shift();
// il nostro Array ora: "Giorgio,Luca,Andrea,Massimo,Marco,Enrico"
Altri metodi:
slice - restituisce una porzione di Array tra due indici
sinossi:
nomeArray.slice(indice1,indice2);
esempio:
presenti=nomi.slice(2,nomi.length); // presenti è: "Andrea,Massimo,Marco,Enrico"
splice - permette di eliminare e/o aggiungere elementi all'Array
sinossi:
nomeArray(inizio,quantità,elementi);
inizio è il numero dell'indice da dove deve iniziare la cancellazione
quantità è il numero degli elementi da cancellare
elementi indica gli elementi da aggiungere
esempi:
aula = nomi.splice(1,2,"ciccio","bello"); // rimuoverà il secondo e terzo elemento e aggiungerà al loro posto "ciccio","bello"
aula = nomi.splice(nomi.length-3,3); // rimuoverà gli ultimi 3 elementi dell'Array
aula=nomi.splice(nomi.length-1,0,"minnie"); // aggiungerà minnie al penultimo indice
abbiamo visto la flessibilità dello splice che ci permette di cancellare o di aggiungere o di fare entrambe le cose;
concat - concatena due o più array
sinossi:
totArray=nomeArray.concat(nomeArray1,nomeArrayN);
gli elementi del nuovo Array saranno ordinati dal primo Array proseguendo per l'ordine di concatenazione.
esempio:
CorsoFlash = new Array ("carlo","giulio","anna","maria");
CorsoPhp = new Array ("gianni","luca","pippo");
CorsoHtml = new Array ("enrico","marco","barbara");
Corsi = CorsoFlash.concat(CorsoPhp,CorsoHtml);
//Corsi sarà il nuovo Array: carlo,giulio,anna,maria,gianni,luca,pippo,enrico,marco,barbara
Dall'Array alle stringhe, molte volte per memorizzare gli Array può ritornare utile trasformare i nostri Array in stringhe;
I metodi che abbiamo a disposizione sono il join ed il toString:
il join ci immette l'Array in una Stringa con il separatore che vogliamo:
sinossi:
nomeArray.join(separatore);
esempio:
stringa=Corsi.join("|"); // riferito all'Array sopra
ci restituirà la stringa: carlo|giulio|anna|maria|gianni|luca|pippo|enrico|marco|barbara
il toString ci restituisce una stringa separata con virgole, del tutto simile all'Array stesso:
esempio:
CorsiStringa=Corsi.toString();
Attenzione: se visualizzassimo con il trace CorsiStringa e Corsi, vedremmo per entrambi:
carlo,giulio,anna,maria,gianni,luca,pippo,enrico,marco,barbara
tuttavia per flash sono due oggetti differenti e lo potremmo constatare se visualizziamo la lunghezza
di entrambi:
Corsi.length sarà 10 (gli elementi dell'array) e CorsiStringa.length = 62 (i caratteri nella stringa)
reverse inverte l'ordine dell'Array:
Corsi.reverse(); // restituirà: barbara,marco,enrico,pippo,luca,gianni,maria,anna,giulio,carlo
Ordinamento:
Per ordinare gli elementi dell'Array useremo il sort.
Sinossi:
nomeArray.sort(funzione di ordinamento);
se la funzione viene omessa avverrà in ordine crescente sia per numeri che per lettere, altrimenti
si può specificare l'ordine voluto:
Esempio:
Corsi.sort(); // restituirà: anna,barbara,carlo,enrico,gianni,giulio,luca,marco,maria,pippo
New MX: in Flash MX è stato aggiunto il metodo sortOn() lo vedremo con gli Array Multidimensionali
Torna su
Menu Actionscript
Lezione precedente: L'ambiente di Lavoro e l'Universo dei MC
Lezione successiva: Operatori e Condizioni