Copia de arrays y objetos
Cuando utilizamos operador de asignación (más comunmente conocido como `=`) para asignar un array –o un objeto– ya existente a una variable debemos tener en cuenta que no estamos almacenando una copia del array, sino una referencia al mismo.
Considérese:
var a = [ 1, 2, 3 ];
alert(a); // [ 1, 2, 3 ]
var b = a;
alert(b); // [ 1, 2, 3 ]
b.push(4);
alert(b); // [1, 2, 3, 4 ]
alert(a); // [ 1, 2, 3, 4 ] <-- `a` ha sido modificado indirectamente
Veamos como realizar una copia en lugar de almacenar una referencia. Continúa leyendo Copia de arrays y objetos