Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Il costruttore Array

Effettuare operazioni su array e collezioni di elementi
Effettuare operazioni su array e collezioni di elementi
Link copiato negli appunti

Uno dei più importanti costruttori utilizzati in MooTools è sicuramente Array. Esso fornisce metodi molto utili per effettuare iterazioni su array e collezioni di elementi e per compiere un qualsiasi tipo di operazione con gli elementi di questi ultimi (tra queste troviamo l'estensione, il concatenamento e molte altre). In questa lezione daremo uno sguardo ai principali metodi di iterazione offerti da questa classe.

Each

Il metodo più diffuso per iterare su array o collezioni è sicuramente each. Esso permette di richiamare una funzione per ogni elemento del nostro array, al quale viene passato un riferimento all'elemento corrente e il suo indice:

// alert '0 = red', '1 = blue' e cosi via
['red', 'blue', 'green'].each(function(color, index) {
    alert(index + " = " + color);
});

Possiamo utilizzare in aggiunta un secondo importantissimo parametro, bind, che indica l'oggetto che assumerà il ruolo di this all'interno del ciclo di iterazione.

Every

Every è un metodo di "checking", il che significa che restituisce true solo se ogni elemento dell'array soddisfa la condizione presente nella funzione passata come parametro, altrimenti restituisce false. Anche in questo caso è possibile utilizzare un ulteriore parametro per il "binding":

var big = [10, 4, 25, 100].every(function(item, index){
    return item > 20;
});

// big è false, dato che 10 e 4 sono minori di 20

Filter

Come indica la parola, il metodo filter "filtra" l'array e ne restituisce uno nuovo contenente gli elementi che hanno soddisfatto la condizione presente nella funzione passata come parametro. Anche con il metodo filterè possibile specificare un oggetto per il "binding".

var biggerThanTwenty = [10, 3, 25, 100].filter(function(item, index){
    return item > 20;
}); 

// biggerThanTwenty è uguale a: [25, 100]

Map

Il metodo map restituisce un nuovo array contenente come elementi il risultato della condizione specificata nella funzione di iterazione. Anche in questo caso è possibile effettuare il "binding":

// moltiplica ogni elemento per 2
var timesTwo = [1, 2, 3].map(function(item, index){
    return item * 2;
}); 

// timesTwo è uguale a: [2, 4, 6];

Some

Questo metodo fornisce una funzionalità simile a quella del metodo every, dato che efftua un "check" sulla quantità di elementi che rispondono correttamente alla condizione. Restituisce true se almeno uno degli elementi soddisfa la condizione specificata dalla funzione di iterazione:

// big è uguale a true dato che 25 è maggiore di 20
var big = [10, 4, 25, 100].some(function(item, index){
    return item > 20;
}); 

Conclusione

In questa lezione abbiamo visto come utilizzare i metodi offerti dal costruttore Array per effettuare cicli di iterazione sugli elementi di un array o di una qualsiasi collezione. Ovviamente il prototype della classe Array offerto da MooTools offre molti altri metodi molto utili, come clean, associate, link ed extend, ma non basterebbe una sola lezione per esemplificarli tutti. Per maggior informazioni ecco il link alla documentazione che tratta la classe Array.

Ti consigliamo anche