En Javascript cuando se asigna un arreglo a una variable, no se asigna el valor como tal, sino una referencia.
Si hacemos un cambio en la nueva variable, el cambio se reflejará automáticamente en el original.
Para hacer una asignación totalmente independiente, escribimos:
var nuevaVariable = arregloOriginal.slice();
El cuanto a objetos también sucede lo mismo, solo se asigna una referencia.
Para hacer una asignación de objetos totalmente independiente, escribimos:
var nuevoObjeto = $.extend( {}, objetoOriginal );
Para más detalles visite el siguiente sitio web:
http://www.etnassoft.com/2013/10/15/copiando-arrays-y-objetos-en-javascript/