Gli oggetti consentono la memorizzazione di una collezione di valori associati alle rispettive chiavi.
Ma spesso abbiamo bisogno di una collezione ordinata, dove abbiamo un primo, un secondo, un terzo elemento e così via. Ad esempio, abbiamo bisogno di memorizzare una lista di cose: utenti, beni, elementi HTML etc.
Non è conveniente utilizzare un oggetto per questo tipo di lavori, poiché non avremmo alcun metodo per gestire l’ordine degli elementi. Non possiamo inserire una nuova proprietà “tra” due già esistenti. Gli oggetti non sono stati pensati per questo scopo.
Esistono delle speciali strutture dati chiamate Array, che consentono la memorizzazione di collezioni ordinate.
Dichiarazione
Ci sono due differenti sintassi per la creazioni di un array vuoto:
let arr = new Array();
let arr = [];
Nella maggioranza dei casi, la seconda sintassi è quella preferita. Possiamo già fornire degli elementi da inserire, all’interno delle parentesi quadre:
let fruits = ["Apple", "Orange", "Plum"];
Gli elementi di un array sono numerati a partire dallo zero.
Possiamo ottenere un elemento tramite il suo numero di indice:
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits[0] ); // Apple
alert( fruits[1] ); // Orange
alert( fruits[2] ); // Plum
Possiamo rimpiazzare un elemento:
fruits[2] = 'Pear'; // ora ["Apple", "Orange", "Pear"]
…o aggiungerne uno nuovo:
fruits[3] = 'Lemon'; // ora ["Apple", "Orange", "Pear", "Lemon"]
Il numero degli elementi dell’array è length:
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits.length ); // 3
Possiamo anche utilizzare alert per mostrare l’intero array.
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits ); // Apple,Orange,Plum
Un array può memorizzare elementi di qualsiasi tipo.
Ad esempio:
// insieme di valori
let arr = [ 'Apple', { name: 'John' }, true, function() { alert('hello'); } ];
// prende l'oggetto all'indice 1 e ne mostra il nome
alert( arr[1].name ); // John
// prende la funzione all'indice 3 e la esegue
arr[3](); // hello
Gli array, proprio come gli oggetti, possono terminare con una virgola:
let fruits = [
"Apple",
"Orange",
"Plum",
];