Cuando necesitamos copiar un objeto a otro objeto, generalmente usamos algo como esto:
const mainObject = { id: 1 }; const secondaryObject = { ...mainObject };
Pero esto solo funciona para copiar las propiedades superficiales del objeto. Si tenemos un caso como el siguiente código, el escenario cambia:
const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } }; const secondaryObject = { ...mainObject };
El usuario de la propiedad no será copiado; seguirá estando relacionado con mainObject. Entonces, si modificamos la propiedad del usuario, también afectará a mainObject. Para solucionar esto, podemos hacer lo siguiente:
const mainObject = { id: 1, user: { name: 'John Doe', age: 30 } }; const deepCopy = JSON.parse(JSON.stringify(mainObject ));
Ahora tenemos una copia profunda de mainObject, con dos direcciones de memoria distintas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3