Oggetto Array Aggiunto in JS1.1 Costrutto fondamentale nei linguaggi di programmazione Permette di iterare su insiemi di oggetti Gli elementi possono avere tipi diversi non occorre dimensionare l’array basta var pippo = new Array( ); la proprietà length si puo’ settare e modificare volendo: pippo.length = 12;
Creare e riempire un Array var valori = new Array(); for (i=0;i<10;i++) { valori[i] = i*i; } var nomi = new Array(50); nomi[187] = “ultimo arrivato”; nomi[12] = ; nomi[187] = new Date(); var pari = new Array(2,4,6,8,10,12,14,16,18,20); var primi = [1,3,5,7,11,13,17,19,23,29]; alert(primi[0]); // visualizza 1 var matrice = new Array(10); for (i=0;i<10;i++) { matrice[i] = new Array(10); } … alert(matrice[5][6]);
Visualizzare gli elementi var valori = new Array(); … // si riempie l’array a piacere for (i=0 ; i < valori.length ; i++) { document.write(valori[i]); } // per le matrici servono cicli annidati for (i=0; i<matrice.length ; i++) { for (j=0 ; j<matrice[i].length ; j++) {document.write( matrice[i][j]); }
Operazioni su Array I valori.sort(); // restituisce un array con gli stessi elementi di valori, ma ordinati per valore (modifica anche valori) valori.reverse(); // restituisce un array con gli stessi elementi di valori, ma nell’ordine inverso a quello di valori (modifica anche valori) valori.join(separa); // restituisce una stringa formata da tutti gli elementi dell’array valori, separati dalla stringa separa // data una stringa testo possiamo anche fare il contrario valori = testo.split(“ ”);
Operazioni su Array II valori1.concat(valori2); // crea e restituisce un nuovo array con gli stessi elementi di valori1 seguiti dagli elementi di valori2 valori.slice(i,j); // restituisce un array con gli elementi di valori compresi tra l’i-esimo (incluso) e il j-esimo (escluso) valori.slice(0,valori.length); // tutti i valori Altri EsempiEsempi
Cicli: for_in Scorre le proprietà di un oggetto (solo JS1.1+) Sintassi: for (property in object) {comandi} es. <!-- function stampa_prop(oggetto) {var propInfo= “”; for (var propName in oggetto) {propInfo=propName + “ = ” + oggetto[propName]; document.write(propInfo+” ”) } //-->
Array e ciclo for_in var valori = new Array(); … // si riempie l’array a piacere for (i in valori) { document.write(valori[i]); } // stampa tutti gli elementi dell’array