Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/09/2009, 09:42
un_tio
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 1 mes
Puntos: 6
Reasignar la dirección de memoria de un vector en Javascript

Increíble. No sabía que Javascript funcionaba así. Si creo dos vectores, y a uno le asigno el contenido del otro, ¡será una copia idéntica y lo que modifiques en el primero afectará al segundo!

Vamos, que se tratan de igual modo que en C.

Mi duda es: ¿cómo copiar el contenido de un vector en otro (sin ir elemento a elemento mediante un bucle, ya que así obviamente se salta el problema. Aunque no hay duda de que es una solución), pero que sea en una dirección de memoria nueva?

Es decir, tengo los vectores vector 1 y vector2, y quiero volcar los datos de vector1 en vector2, sin que luego los cambios en vector1 me afecten a vector2.

La solución

vector2=vector1

no funciona, es la causante del problema. La solución de asignar valores uno a uno, sin duda funcionaría. Pero ya que estoy, me gustaría saber si hay otra solución más elegante o directa (tal como definir la dirección de memoria que ocupará un vector, o similar).

PD: ¿Significa esta similitud con C, que en Javascript también se puede trabajar con punteros?

Última edición por un_tio; 17/09/2009 a las 09:48