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?