Hola furoya:
Disculpa por la tardanza en contestar pero no me ha sido posible contestar antes.
Me incluyo en los que tratamos de aprender.
He estado mirando los métodos que has creado y me parece muy buena idea lo de crea un nuevo array manteniendo igual el original. He estado probando como hacerlo de distinta forma, probando y probando...
.... me ha salido esto.
Código PHP:
<html>
<head>
<title>Copia de un array rotando sus elementos a la izquierda</title>
</head>
<script language=JavaScript type=text/javascript>
<!--
// Rota los elementos del array a la izquierda
Array.prototype.rotarI = function() {
// creamos el array temp y lo poblamos con el array numero
var temp = eval("new Array("+this+")")
// comprobamos que tiene elementos el array
if(temp.length > 0){
// Guardamos el primer elemento
var first_element = temp[0]
// movemos todos los elementos a la izquierda menos el ultimo
// el resultado final seria [1,2,3,4,5,5]
for(var ctr = 0; ctr < temp.length - 1; ctr++){
temp[ctr] = temp[ctr+1]
}
// Cambiamos el valor del ultimo elemento
temp[temp.length - 1] = first_element
}
// devolvemos el array
return (temp)
}
var numeros = new Array(0,1,2,3,4,5)
var copia = numeros.rotarI()
var copia2 = numeros.rotarI()
var msg=" "
for(var ct = 0; ct < copia.length; ct++){
msg+= copia[ct]+ " "
}
alert("Array numeros: " + numeros + "\n" + "Array copia:" + copia +
"\n Array copia2: " + copia2)
alert(msg)
//-->
</script>
<body>
</body>
</html>
Un saludo