Ver Mensaje Individual
  #10 (permalink)  
Antiguo 25/04/2012, 19:05
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: Transición de cinco imágenes.

Es posible. Quizá hasta cubra arrays bidimensionales. Pero sería mejor poner el ejemplo completo, para probarlo.
En realidad yo preguntaba por uno común y corriente.

Y esperaba la respuesta en otro tema, pero ya que estamos acá, aprovecho y aclaro un poco más de dónde vino mi pregunta.

Si tengo un array, y lo copio en otro

Código:
var unArray= ["perro", "gato"];
var otroArray = [];

otroArray = unArray;
Y después quiero modificar el nuevo en uno solo de sus elementos

Código:
otroArray[1] = "kiwi";
resulta que me queda

Código:
var unArray= ["perro", "kiwi"];
var otroArray = ["perro", "kiwi"];
¡Me cambia también el primero!

Seguramente ya se habló de esto por acá, pero voy a dejar una explicación de otro sitio, porque fue lo primero que encontré

http://www.anieto2k.com/2007/03/11/c...en-javascript/

Allí resolvieron el asunto como hice más arriba

Código:
<script type="text/javascript">

var a = [ 1, 2, 3 ];
var b = [].concat(a);
b[1]="w";
//alert(a+" "+b)
</script>
o con un método similar al que estás proponiendo, que metieron en un prototype. Acá lo dejo simplificado

Código:
<script type="text/javascript">
var alfa = [80,10,20,30];
var bravo = [4,5,6];

function duplica_alfa_en_bravo(){
bravo=[]; //vacía bravo
for(i in alfa) { //recorre todo alfa
bravo.push(alfa[i]); //agregando cada elemento a bravo
alert(alfa[i])
alert("["+i+"] "+bravo)
}
//una vez duplicado
alert(alfa+" = "+bravo)
bravo[1] = "X"; //reemplaza sólo 2º elemento de bravo
alert(alfa+" = "+bravo) //pero no modifica alfa
}
onload = duplica_alfa_en_bravo;
</script>
Insisto en que debería haber un modo mejor, me cachen yavascrip.