Upload
lorenzo-pinto
View
214
Download
0
Embed Size (px)
Citation preview
Array
Struttura numerate di dati
Memorizzare molti dati• In informatica c’è spesso bisogno di memorizzare
ed elaborare un insieme costituito da molti dati.• Ad esempio, i cognomi degli allievi di una classe• Per fare questo si potrebbero utilizzare variabili
diverse, una per allievo! a = "Rossi"; b = "Bianchi"; c = "Neri"; ….
• Ma il metodo è sconsigliato perché ogni operazione su questi dati (esempio: trovare quanti allievi hanno il cognome che inizia per “B”) produrrebbe un numero enorme di istruzioni.
Gli array
•Tutti i linguaggi di programmazione forniscono un tipo di dati che contiene o memorizza un gruppo numerato di dati.•Ciascun dato viene detto elemento dell’array ed il numero assegnato a un elemento viene detto indice.•L’array può essere pensato come un insieme di celle numerate, ciascuna delle quali contiene un dato.•Le celle vengono numerate a partire da 0
N.B. Nello stesso array, i dati possono essere di tipo diverso (numeri, stringhe, booleani)
Rossi Bianchi Neri … … …
cella 0 cella 1 cella 2
Definizione di array
JavaScript permette di definire un array mediante una delle seguenti sintassi
var a = new Array(); // a è il nome dell’array
Crea un array vuoto, senza elementi.
Oppure
var a = new Array("Rossi", "Bianchi", "Neri");
Crea un array e assegna l’elenco dei suoi elementi.
Accesso agli elementi di un array
Per accedere (in scrittura o in lettura) agli elementi di un array si utilizza la sintassi
a[i]Dove a è il nome dell’array e i è l’indice dell’elemento.Ad esempio, se si è definito
var a = new Array("Rossi", "Bianchi", "Neri");Allora
alert(a[1]) mostra, nella finestra di alert, "Rossi"alert(a[8]) mostra, nella finestra di alert,
undefined a[0] = "Grigi" il primo elemento diventa
"Grigi" e "Rossi" viene cancellato ,
La lunghezza di un array
Il numero di elementi di un array si dice lunghezza dell’array.Ad esempio
var a = new Array("Rossi", "Bianchi", "Neri", "Grigi" );
Ha lunghezza 4.La proprietà length restituisce il numero degli elementi dell'array e si ottiene con la notazione puntata.Nell’esempio
alert(a.length) mostra, nella finestra di alert, 4
Note su length
Il valore di length è dunque superiore di uno del più elevato indice di elemento dell'array.La proprietà length viene aggiornata automaticamente ogni qualvolta si aggiungono nuovi elementi all'array.L'utilizzo più comune della proprietà length è quello di consentire un ciclo attraverso tutti gli elementi dell'array stesso.
Gli array e i cicli
Il vantaggio di usare una struttura di dati numerati con indice intero permette di usare i cicli per memorizzare, elaborare e leggere gli elementi di un array.
Ad esempio, se vogliamo fare scrivere nella pagina tutti i cognomi dell’arrayvar a = new Array("Rossi", "Bianchi", "Neri", "Grigi" );Possiamo scrivere il ciclofor (i=0;i<a.length;i++)
document.write(a[i] + "<br>"); Il ciclo fa andare l’indice i da 0 a 3 (per questo viene usato il <) e prende l’elemento a[i] dell’array e lo scrive nella pagina.
Esempio
Inserire in un array i 10 numeri interi pari da 0 a 18 e farseli scrivere in ordine inverso
var a = new Array(); // definisce l’array vuotofor (i=0;i<10;i++) // carica l’array con i numeri pari
a[i] = 2*i;for (i=a.length-1;i>=0;i--)
document.write(a[i] + "<br>"); // scrive gli elementi dell’array
// in ordine inverso