Home / Blog /

Javascript array: cosa sono e come usarli

di Giuseppe Maggi

La struttura dati principale del Javascript sono gli array la cui flessibilità permette di utilizzarli per qualsiasi scopo. Un array non è nient’altro che un contenitore che, a differenza delle variabili che possono contenere al loro interno un solo valore, può contenere più valori (di vario genere) accessibili tramite un indice numerico che parte da zero. Un Javascript array può essere creato con il costruttore Array preceduto dall’operatore new in questo modo:

var nomi = new Array("Michele", "Sergio", "Simona", "Eva", "Giorgia", "Melania", "Marco")

oppure, in forma molto più sintetica, con il semplice impiego di parentesi quadre:

var nomi = ["Michele", "Sergio", "Simona", "Eva", "Giorgia", "Melania", "Marco"]

Gli elementi presenti in un array, come accennato, sono indicizzati per posizioni contate a partire da 0, pertanto nomi[1] equivale a Sergio, nomi[3] a Eva e via dicendo.

La stessa notazione può essere impiegata per assegnare loro dei valori.

Se eseguissimo:

nomi[3]="Saverio"

l’array diventerebbe:

["Michele", "Sergio", "Simona", "Saverio", "Giorgia", "Melania", "Marco"]

Javascript array e oggetti

L’impiego di array si sposa bene con quello degli oggetti, definiti con parentesi graffe, in cui si possono definire una serie di proprietà con uno specifico valore etichettate con un nome.

Ad esempio, questo è un oggetto Javascript:

studente1={"nome":"Michele",
           "cognome":"Rossi",
           "citta":"Roma"
}

Risponde al riferimento studente1 e contiene tre proprietà: nome, cognome e citta.

Potremmo estrarre uno dei valori al suo interno semplicemente richiedendo una proprietà introdotta dal simbolo punto: studente1.citta per sapere la sua città o studente1.cognome per il suo cognome.

Allo stesso modo potremmo utilizzare questa stessa dicitura per compiere un’assegnazione con:

studente1.citta="Lecce"

In un array Javascript, potremmo utilizzare oggetti di questo tipo come valori. Ad esempio, creando un array di nome “corso” potremmo coinvolgere studente1 ed altri oggetti creati al volo:

corso=[
	studente1, 
        {"nome":"Giorgia",
         "cognome":"Verdi",
         "citta":"Milano"
        },
        {"nome":"Paolo",
         "cognome":"Neri",
         "citta":"Napoli"
        }
]

per poi recuperare il valore di una proprietà percorrendo le posizioni dell’array: con corso[2].citta otterremo Napoli, mentre con corso[0].nome otterremmo Michele.

Javascript array: metodi e proprietà

Di qualsiasi tipo di oggetti sia composto un array possiamo sfruttare su di esso alcuni metodi e proprietà, vediamo di seguito i principali.

VUOI IMPARARE A PROGRAMMARE IN JAVASCRIPT?

Iscriviti su devACADEMY e SEGUI TUTTI I CORSI che vuoi!
OLTRE 70 CORSI di coding A TUA DISPOSIZIONE con un’unica iscrizione 🙂

PROVA GRATIS IL CORSO JAVASCRIPT

Prima cosa, è molto utile sapere la lunghezza di un array: possiamo farlo con length.

Utilizzando l’array:

nomi = ["Michele", "Sergio", "Simona", "Eva", "Giorgia", "Melania", "Marco"]

con nomi.length viene restituito 7 ovvero il numero di oggetti che esso contiene.

Altra necessità molto comune consiste nell’aggiungere elementi in coda all’array e possiamo farlo utilizzando push.

Invocando quindi nomi.push("Alessandro") il contenuto della struttura dati diventerà:

[ 'Michele',
  'Sergio',
  'Simona',
  'Eva',
  'Giorgia',
  'Melania',
  'Marco',
  'Alessandro'
]

e la lunghezza, di conseguenza, sarà ora pari a 8.

Con pop invece svolgiamo due operazioni contemporaneamente: ci facciamo restituire l’ultimo oggetto e lo rimuoviamo dall’array.

Ad esempio, nomi.pop() restituisce la stringa “Alessandro” e, contemporaneamente, la rimuove dall’array.

Altro aspetto fondamentale è la possibilità di trasformare un array in una stringa. Lo si può fare in maniera molto standard utilizzando toString che restituisce una stringa come la seguente:


'Michele,Sergio,Simona,Eva,Giorgia,Melania,Marco'

costituita da tutti i nomi separati da virgola o con join che permette di specificare il separatore con cui verranno accodati tutti gli oggetti tra loro.

Ad esempio con nomi.join(' -- ') otterremo questo risultato:


'Michele -- Sergio -- Simona -- Eva -- Giorgia -- Melania -- Marco'

forEach è un altro metodo che offre una potenzialità molto importante. Permette infatti di eseguire un ciclo in cui ogni oggetto dell’array sarà sottoposto ad una funzione.

Ad esempio, potremo invocare:

nomi.forEach(funzione);

dove funzione viene definita separatamente:

function funzione(value, index, array) {
      // codice da eseguire
}

e questa verrà richiamata e il suo codice eseguito per ogni elemento dell’array.

L’aspetto interessante è che al momento di eseguire il codice di funzione avremo a disposizione tre argomenti: il primo sarà l’indice dell’oggetto che stiamo trattando in questa iterazione, il secondo sarà il suo valore ed il terzo l’array completo.

» VUOI SAPERNE DI PIU’? PROVA GRATIS IL NOSTRO CORSO JAVASCRIPT «