push() e pop() hanno la stessa azione che hanno sullo stack gli stessi comandi in Assembly...
<script> var Matrice=new Array(); Matrice.push("Mario","Peppe","Gianni","Antonio","Pasquale"); for(n=0;n<Matrice.length;n++) alert(Matrice[n]); </script>Giusto: il primo elemento è "Mario" e l'ultimo è "Pasquale". Il push ha aggiunto elementi in coda all'Array.
Con questa aggiunta, il metodo push() restituisce anche la lunghezza dell'Array:
<script> var Matrice=new Array(); var lunghezza=Matrice.push("Mario","Peppe","Gianni","Antonio","Pasquale"); for(n=0;n<Matrice.length;n++) alert(Matrice[n]); alert(lunghezza); </script>
Aggiunta del metodo pop() che restituisce l'elemento eliminato.
<script> function elenca(){ for(n=0;n<Matrice.length;n++) alert(Matrice[n]); } var Matrice=new Array(); var lunghezza=Matrice.push("Mario","Peppe","Gianni","Antonio","Pasquale"); elenca(); alert(lunghezza); var elemento=Matrice.pop() elenca(); alert("Elemento eliminato "+elemento); </script>
I metodi unshift() e shift() sono speculari a push() e pop() per la parte iniziale anzichè finale dell'Array.
<script> function elenca(){ alert("Elenco"); for(n=0;n<Matrice.length;n++) alert(Matrice[n]); } var Matrice=new Array(); var lunghezza=Matrice.push("Mario","Peppe","Gianni","Antonio","Pasquale"); elenca(); alert(lunghezza); elemento=Matrice.shift(); elenca(); alert("elemento rimosso "+elemento); var lunghezza=Matrice.unshift("Ciccio"); elenca(); alert(lunghezza); </script>
Nessun commento:
Posta un commento