7. Array
Gli Array sono un tipo di dato particolare, in quanto ci consentono di racchiudere sotto ad un nome comune una collezione di variabili.
Il punto di forza degli array è quello di consentirci in poche righe di codice, di effettuare delle iterazioni per scorrere i dati contenuti nell'array, permettendoci quindi di gestire con facilità liste di elementi anche complessi.
Anche in questo caso come per le stringhe, il tipo di dato array viene gestito come nativo, mettendoci a disposizione sia gli operatori classici, come quello di accesso [] agli elementi, che la classe Array stessa.
Vediamo direttamente la sintassi corretta utilizzando il tipo di dato come un'istanza della classe Array :
var iscritti:Array = new Array(3); // Crea un array vuoto di 3 elementi
iscritti[0] = "Utente 1"; // Memorizza la stringa "Utente 1" nel primo elemento dell'array
iscritti[1] = "Utente 2"; // Memorizza la stringa "Utente 2" nel secondo elemento
iscritti[2] = "Utente 3"; // Memorizza la stringa "Utente 3" nel terzo elemento
/* La funzione "push" inserisce la stringa "Utente 4"
alla fine dell'array, quindi alla quarta posizione */
iscritti.push("Utente 4");
trace(iscritti); // Output : Utente 1, Utente 2, Utente 3, Utente 4
trace(iscritti.length); // Output : 4Osservando il codice soprastante si può dedurre che il conteggio degli elementi inizia dalla posizione zero, quindi il primo elemento è accessibile attraverso l'istruzione array[0].
Anche la classe Array come String, deriva da Object e possiede l'attributo length, che indica il numero di elementi di cui è composto l'array.
Classe Array
Di seguito una lista dei metodi che ritengo di maggiore importanza e che mi sono trovato ad utilizzare più spesso :
- concat() - Concatena gli elementi specificati all'array da cui è stato chiamato il
metodo.
Se un parametro è un altro array, ne vengono concatenati tutti gli elementi prima di passare al parametro successivo. - forEach() - Prende come parametro una funzione che sarà eseguita su ogni elemento dell'array.
- indexOf() - Restituisce l'indice della prima occorrenza dell'elemento specificato.
- join() - Unisce gli elementi dell'array in una stringa, separandoli con il delimitatore specificato.
- pop() - Restituisce l'ultimo elemento dell'array rimuovendolo.
- shift() - Restituisce il primo elemento dell'array rimuovendolo.
- push() - Aggiunge elementi alla fine dell'array restituendo la nuova dimensione.
- unshift() - Aggiunge elementi all'inizio dell'array restituendo la nuova dimensione.
- slice() - Prende come parametri un'indice di inizio e uno di fine, che stabiliranno la porzione da cui creare e restituire un nuovo array.
- sort() - Ordina gli elementi di un array.
- sortOn() - Ordina gli elementi di un array in base a uno o più elementi di esso.
- splice() - Modifica l'array aggiungendo o rimuovendo elementi da esso.
Esempio con concat()
var numeri:Array = new Array(1, 2, 3);
var lettere:Array = new Array("a", "b", "c");
var frutti:Array = new Array("pera", "banana", "cocco");
var unione:Array = numeri.concat(4, lettere, "d", frutti);
trace(unione); // Output : 1,2,3,4,a,b,c,d,pera,banana,cocco
trace(unione.length); // Output : 11La classe Array inoltre possiede due costruttori. Il primo costruttore prende come parametro un numero intero che stabilisce la dimensione dell'array, e viene chiamato se si specifica un solo parametro di tipo int o se non viene specificato alcun parametro, impostando in quest ultimo caso un array di zero elementi. Il secondo costruttore invece, prende uno o N parametri che saranno
considerati in modo ordinato come gli elementi del nuovo array. |
Consideriamo il seguente codice :
var iscritti:Array = new Array(); // Chiama il primo costruttore
var iscritti:Array = new Array(3); // ... primo costruttore
var iscritti:Array = new Array("3"); // ... secondo costruttore
var iscritti:Array = new Array(3, 5); // ... secondo costruttore
var iscritti:Array = new Array(null); // ... secondo costruttore
|
Ricordate che negli array potete memorizzare anche dati complessi, quindi istanze di classi a cui potrete accedere col metodo classico :
var dati:Array = new Array();
dati.push(new String("Flash CS3"));
dati.push(new String("ActionScript 3"));
trace(dati[0].length); // Output : 9
trace(dati[1].length); // Output : 14- Linguaggi:
- Tags:

