¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

Como clonar um objeto em JavaScript: Soluções e comparação de desempenho

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Cargando...
Um belo dia, tudo estava correndo suavemente, até que uma operação de atribuição básica falhou. ?

Estou aqui tentando clonar um objeto para outro.
    
      a = { "val": 10 }
      {val: 10}
      b = a
      {val: 10}
      b.val = 30
      30
      a -> {val: 30}
    
  

Uma operação básica em que a atribuição de valor me fez depurar tudo por horas.

Ambas as variáveis referenciam o mesmo objeto. Assim, a mudança em uma é refletida na outra.

Mais tarde descobri, como o valor de a que foi atribuído a b. Qualquer mudança em b é refletida em a ao mesmo tempo.

Como resolver isso??

Existem várias maneiras. Estou listando aqui três ordenadas por desempenho.

1. Query.extend

usando : jQuery.extend( [deep ], target, object1 [, objectN ])


ou

jQuery.extend( target [, object1 ] [, objectN ])


No caso de objetos complexos, deep = true diminui o desempenho.
    
      var a = { "a": 10 };
      var b = {};
      jQuery.extend(true, b, a);
    
  


2. Object.assign.
    
      var a = { "a": 10 };
      var b = {};
      Object.assign(b, a);
    
  

3. JSON.parse(JSON.stringify());

    
      var a = { "a": 10 };
      var b = {};
      b = JSON.parse(JSON.stringify(a));
    
  

Comparando o desempenho :





Este não é um grande problema, mas para pessoas que são novas no JavaScript, isso pode ser uma dor de cabeça.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?