Perfecto!!!!!!! Ahora si funciona bien, Gracias Jorge...

saludos,
Alvaro
        

[EMAIL PROTECTED] 
C/. Lepanto 367 entlo 2da. 
08025 Barcelona / Espa�a
Telf. (+34) 93 450 25 33 
Fax (+34) 93 511 63 98 
www.xtranet.es  

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En
nombre de Jorge Arevalo
Enviado el: viernes, 20 de mayo de 2005 13:55
Para: [email protected]
Asunto: RE: [ASNativos] Duplicar un Array

Las prisas son malas consejeras ;P hay un par de par�ntesis donde
deberia
haber corchetes:

function duplicateArray(origen,destino)
{
        
        for(i=0;i<origen.length;i++)
        {
                destino.push(origen[i])
        }
}

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En
nombre
de Alvaro Bartra
Enviado el: viernes, 20 de mayo de 2005 13:03
Para: [email protected]
Asunto: [ASNativos] Duplicar un Array

Hola Lista,
 
Tengo un problema que primero me pareci� una chorrada pero ahora me trae
de cabeza y me parece que debe tener soluci�n (antes de hacer un parche
para solucionarlo quiero ver si se puede solucionar).
Tengo un array de 4 dimensiones con datos indexados y necesito duplicar
ese array, y ordenarlo alfab�ticamente en el array copia (pero debo
mantener el orden inicial, �sea el array inicial inalterado). Pero es
curioso que hago la copia y cuando modifico algo en el array copia
tambi�n se modifica en el array base. Parece una chorrada y prob� varias
cosas hasta darme cuenta que no hay manera de duplicar el array sin que
se cree un espejo. Lo he intentado con slice(); sin argumentos y me pasa
lo mismo, hago un array intermedio para que no tenga relaci�n el primero
con el tercero y me sigue pasando. 
�Alguien sabe porque pasa y como puedo solucionarlo sin tener que
crearle un �ndice en un elemento del array?
Trabajo con Flash MX 2004.
Lo ver�is mas claro en este ejemplo con pocos elementos, pero pasa con
arrays mas grandes tambi�n:
 
my_array = new Array();
my_array[1] = "elemento 1";
my_array[2] = "elemento 2";
my_array_copia = my_array;
trace(my_array_copia[1]);
//devuelve: elemento 1
my_array_copia[1] = "elemento 1 copia";
trace(my_array_copia[1]);
//devuelve: elemento 1 copia
//pero tambi�n me ha cambiado el array original (como si estuvieran
ligados de alguna manera)
trace(my_array[1]);
//devuelve: elemento 1 copia
//se modifico tambi�n el array original y supuestamente no he cambiado
el elemento 1 de �my_array�
 

Gracias y saludos,
Alvaro
 




[EMAIL PROTECTED] 
C/. Lepanto 367 entlo 2da. 
08025 Barcelona / Espa�a
Telf. (+34) 93 450 25 33 
Fax (+34) 93 511 63 98 
www.xtranet.es
 

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------



----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a