Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

72
Views
Cómo lograr una copia superficial del objeto desestructurado en JS

Estoy tratando de averiguar cuál es la mejor manera de lograr una copia superficial "desestructurada" reconstruida de un objeto. Quiero decir, ¿cómo puedo obtener un objeto al que se hace referencia con solo un subconjunto de claves, pero que están conectadas al objeto original? Desde let original={ a=1, b=2, c=3} hasta una referencia conectada let reconstructed= { a=1, c=3} ... los valores de las claves son cadenas o números. Intenté soluciones pero no puedo obtener una solución cómoda para esto. La ayuda sería apreciada.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede usar una matriz que contenga los accesorios que desea, y luego trucos sin sentido con getters y setters para construir un objeto que realmente lea/escriba en un objeto diferente.

Nota: Nunca he necesitado hacer esto. Creo que podría tener más suerte con un enfoque general diferente, como "Use el mismo objeto, pero solo muestre las propiedades que sean apropiadas en lugar de mostrarlas todas".

 let original={ a:1, b:2, c:3}; let propsInNewObject = ["a", "c"]; const reconstructed = propsInNewObject.reduce((obj, el) => { Object.defineProperty(obj, el, { get: () => original[el], set: (value) => { original[el] = value }, enumerable: true }); return obj; }, {}); console.log(reconstructed, original); reconstructed.a = 100; console.log(reconstructed, original);

about 4 years ago · Juan Pablo Isaza Report

0

Esta podría ser la respuesta incorrecta porque su pregunta no está clara, especialmente con respecto a qué bit es la copia 'superficial'.

Su objeto reconstruido es un objeto nuevo e independiente y no está conectado al objeto de origen de ninguna manera.

 let reconstructed = { a, b } // ^ ^ // denotes a new object

La pregunta es, ¿qué tipos podrían a y b ? Si las propiedades deconstruidas del objeto de origen son en sí mismas referencias (otros objetos), la modificación del valor deconstruido, ya sea en su estado independiente o cuando se asigna al objeto reconstruido, también cambiará el valor de origen.

 let foo = { a: 1, b: 2 } let { a, b } = foo a = 999 console.log(foo, a, b) let bar = { baz: { msg: 'Hello World' } } let { baz } = bar let bar1 = { baz } baz.msg = 'Hello Sailor' console.log(bar, baz, bar1)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!