In JS gli array sono oggetti e possiedono una serie di metodi predefiniti per mezzo dei quali è possibile eseguire rapidamente una serie di operazioni su tutti gli elementi di un vettore. Come sappiamo i metodi di un oggetto sono azioni che è possibile compiere sull'oggetto stesso e, dal punto di vista della sintassi, si utilizzano in pratica come delle funzioni.
Diamo dunque un'occhiata ai principali metodi degli array in Javascript.
Il metodo reverse consente di invertire l'ordine degli elementi di un vettore. Si consideri l'esempio seguente:
Si noti la sintassi di uso del metodo:
A differenza dell'esempio visto nella lezione precedente, il metodo reverse non visualizza gli elementi del vettore in ordine inverso, ma li inverte effettivamente. Qual'è la differenza? Nel primo caso il vettore non veniva modificato, ma cambiava solo l'ordine con cui veniva visualizzato il suo contenuto. Col metodo reverse invece, l'elemento zero conterrà il valore dell'ultimo elemento, l'elemento 1 quello del penultimo e così via.
Il metodo sort ordina il contenuto di un vettore secondo l'ordine alfabetico. Esempio:
Si presti attenzione al fatto che in JS le lettere minuscole seguono alfabeticamente le maiuscole. Perciò per esempio Zebra viene prima di airone in ordine alfabetico!
Il metodo concat concatena due vettori in modo da crearne un terzo che contiene tutti gli elementi del primo seguiti da tutti gli elementi del secondo:
Si presti attenzione alla sintassi del metodo:
Il metodo push aggiunge un elemento in fondo al vettore (dopo l'ultimo inserito). Esempio:
Se interessa, il metodo push restituisce la nuova lunghezza del vettore. Esempio:
Il metodo pop elimina un elemento dal fondo del vettore. Esempio:
Il metodo pop cancella l'ultimo elemento del vettore (l'elemento 3 contenente "gamma" nell'esempio precedente) e decrementa la lunghezza length di uno.
Volendo pop restituisce il valore dell'elemento cancellato come valore di ritorno:
Il metodo shift è identico al metodo pop, solo che elimina (e restituisce) il primo elemento del vettore:
Il risultato del programma precedente è che l'elemento zero ("alfa") viene eliminato e il nuovo elemento zero diventa "beta". La lunghezza length del vettore viene decrementata di uno.
Il metod unshift è identico a push, ma inserisce un elemento all'inizio del vettore:
Il metodo slice serve per copiare una porzione di array in un altro array. Esempio:
Si noti che il metodo slice copia a partire dall'elemento specificato per primo (E, elemento numero 1, nell'esempio precedente) fino all'elemento specificato per secondo escluso (cioè fino a O, elemento numero 3, nel precedente esempio - l'elemento 4 non viene copiato).
Il metodo slice può anche essere usato per copiare un intero array su un altro. In questo caso bisogna usarlo senza nessun parametro fra parentesi:
Il metodo indexOf serve per cercare un elemento in un array. Esempio:
La variabile ris alla fine dell'esempio precedente contiene la posizione di Mela all'interno del vettore (nel nostro caso il valore è 2, perché Mela ha indice 2, cioè occupa la terza posizione nel vettore).
Se il valore cercato non è presente nel vettore, indexOf torna il valore -1. Nel caso ci siano più valori uguali nel vettore, indexOf torna la posizione solo del primo valore incontrato.
Il metodo indexOf possiede un secondo parametro opzionale in cui è possibile specificare l'indice a partire dal quale bisogna effettuare la ricerca (se si indica il valore 0 la ricerca viene effettuata a partire dal primo elemento). In questo modo è possibile ricercare tutte le occorrenze di un dato valore in un vettore (e non solo la prima), come mostra l'esempio seguente:
In questo esempio l'alert visualizza prima il valore 2 (prima posizione di "Mela" nel vettore), quindi il valore 4 (seconda posizione di "Mela" nel vettore) e infine il valore -1 (che termina il ciclo).
L'operatore delete, come suggerisce il nome, serve per cancellare un elemento da un array:
Si osservi che delete non è un metodo, ma un operatore. Occorre anche notare che delete non elimina davvero l'elemento cancellato, ma lascia al suo posto una sorta di elemento vuoto, di valore undefined.
Per cancellare davvero un elemento (spostando tutti gli elementi successivi all'indietro di una posizione) si può usare il metodo splice (da non confondere con slice visto sopra) nel seguente modo:
Il primo parametro 0 indica l'elemento da eliminare; il secondo parametro 1 indica quanti elementi devono essere eliminati.
Sito realizzato in base al template offerto da
http://www.graphixmania.it