JavascriptProva

giovedì 12 gennaio 2012

Ripassiamo gli array

Ma se ci sono più oggetti, come faccio a fermarli selettivamente?

Con la funzione ferma() non faccio un'azione specifica. Blocco soltanto l'ultimo intervallo che è stato definito, in quanto la variabile intMuovi è attribuita sempre all'ultimo intervallo creato.

Mi sta venendo in mente di cercare una soluzione con le matrici.
E a questo punto devo rinfrescarmi le idee sulle matrici, o meglio sugli array.

<script>

function main()
{
 var matrice=new Array();
 alert(matrice.length);
}

main();

</script>
Ottengo zero perchè l'array è vuoto.
Aggiungiamo elementi all'array.

A questo scopo, creo una pagina in cui venga immesso in una casella di testo un nome, il quale verrà aggiunto in coda all'array. Vediamo se è possibile. In pratica, sarebbe una matrice dinamica.
...Credo che gli array di javaScript siano tutti array dinamici.
Ecco un piccolo esercizio che ho fatto finora:
<script>

function main()
{
 var matrice=new Array();
 alert(matrice.length);
 matrice[2]="ciccio";
 alert(matrice.length);
}

main();

</script>
Ho aggiunto direttamente l'elemento [2] della matrice, e la lunghezza della matrice mi risulta 3.
Se aggiungo l'elemento 9, invece...
<script>

function main()
{
 var matrice=new Array();
 alert(matrice.length);
 matrice[9]="ciccio";
 alert(matrice.length);
}

main();

</script>
ottengo lunghezza 10.
Questo mi suggerisce che non esistono matrici di dimensioni predefinite in fase di dichiarazione.

Proseguo con l'esercizio.
Dapprima creo una matrice con dei valori già predefiniti, in modo da "snocciolarli" tutti con del codice.
<script>

function main()
{
 var matrice=new Array("gongolo","eolo","mammolo","pisolo","brontolo","dotto","cucciolo");
 for (var n=0;n<=matrice.length-1;n++)
  document.write(matrice[n]+"<br>");
}

main();

</script>
...e funziona!
gongolo
eolo
mammolo
pisolo
brontolo
dotto
cucciolo
Okay...

Nessun commento:

Posta un commento