¿Cómo puedo clonar correctamente un objeto JavaScript?
Tengo un objeto, x
. Me gustaría copiarlo como objeto y
, de forma que los cambios en y
no modifiquen x
. Me he dado cuenta de que copiar objetos derivados de objetos incorporados de JavaScript dará lugar a propiedades extra no deseadas. Esto no es un problema, ya que estoy copiando uno de mis propios objetos construidos literalmente.
¿Cómo puedo clonar correctamente un objeto JavaScript?
2906
3
De este artículo: Cómo copiar arrays y objetos en Javascript por Brian Huisman:
Esta es una función que puedes utilizar.
Si no hay dependencias circulares en su objeto, sugiero usar una de las otras respuestas o los métodos de copia de jQuery, ya que todos parecen bastante efectivos.
Si hay dependencias circulares (es decir, dos subobjetos se enlazan entre sí), estás un poco jodido ya que no hay (desde una perspectiva teórica) ninguna manera de resolver este problema elegantemente.