Gli array in JavaScript sono un tipo particolare di dati: se le variabili sono delle "scatole" in cui inserire i dati, gli array possono essere paragonati a "scatole a scomparti multipli", in cui ogni scomparto ha il suo "numero d'ordine". Si tratta infatti di un tipo particolare di variabile che ci permette di inserire molteplici dati in maniera ordinata.
La sintassi per creare un array è la seguente:
//viene creato l'array
miaVariabile = new Array();
//assegno ad ogni elemento dell'array il valore che voglio
miaVariabile[i]=contenuto;
dove "i" è l'indice che indica la posizione all'interno dell'array. Nel contare gli elementi di un array si comincia sempre dallo 0.
Esiste anche un'ulteriore sintassi per creare un array (più sintetica):
miaVariabile = new Array(contenuto_1,contenuto_2, ..., contenuto_n);
Possiamo ad esempio creare un array che contenga i nomi degli studenti di un corso.
alunni = new Array(); //viene creato l'array
alunni [0]="Mario";
alunni [1]="Gianni";
alunni [2]="Monica";
e con la sintassi sintetica:
alunni=new Array("Mario", "Gianni","Monica");
notare che i diversi elementi sono separati da virgola.
I tipi di dati contenuti dai vari elementi dell'array possono essere anche eterogenei. Se mai ne avessimo bisogno, potremmo scegliere ad esempio creare un array che contenga il nome dell'alunno (numeri pari nell'indice dell'array) e subito dopo la sua media di voti:
//viene creato l'array
alunni = new Array();
alunni [0]="Mario";
alunni [1]=7;
alunni [2]="Gianni";
alunni [3]=4;
alunni [4]="Monica";
alunni [5]=4;
oppure:
alunni = new Array("Mario", 7, "Gianni", 4,"Monica", 4);
Per richiamare un elemento è poi sufficiente richiamarne la posizione all'interno dell'array:
alert(alunni [4]);
In JavaScript ci sono diversi metodi che ci aiutano a manipolare gli array. Fra tutti ne vediamo alcuni particolarmente utili:
Metodo o proprietà | Descrizione | Esempio |
---|---|---|
length | Conoscere la lunghezza di un array |
alunni=new Array("Mario", "Gianni","Monica");
|
push(elemento) | Aggiungere un elemento in coda all’arraye restituire la nuova lunghezza |
alunni=new Array("Mario", "Gianni","Monica");
|
concat (elementi da aggiungere) | Aggiungere elementi ad un array e restituire la nuova lunghezza. Restituisce un nuovo array formato dalla somma degli elementi |
alunni=new Array("Mario", "Gianni","Monica");
|
pop() | Eliminare un elemento dalla fine dell’array e restituisre il nome dell’elemento eliminato. |
alunni=new Array("Mario", "Gianni","Monica");
|
shift() | Eliminare un elemento dall’inizio dell’array e restituire il nome dell’elemento eliminato |
alunni=new Array("Mario", "Gianni","Monica");
|
reverse() | Invertire l’ordine degli elementi di un array |
alunni=new Array("Mario", "Gianni","Monica");
|
slice(inizio,fine) | Dividere l’array in un array più piccolo e restituire il nuovo array |
alunni=new Array("Mario", "Gianni","Monica","Davide");
|