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

193
Views
Eliminar objetos en JavaScript. Estoy un poco confundido. Tengo un problema con removeName(person)

Estoy un poco confundido con el operador de delete de JavaScript. Soy principiante en JS y tengo un problema con removeName(person) . Tome el siguiente fragmento de código:

 let user = {}; user.name = "name"; export default function removeName (person){ delete user.name; return new Object(person) } removeName(user); console.log(user);

Después de ejecutar este fragmento de código, tomo como salida {} pero quiero la siguiente función

removeName (person) , acepta el objeto de persona como parámetro y modifica el objeto de persona eliminando el campo de nombre de propiedad. LA función no devolverá nada, modificará el objeto directamente.

Estoy un poco confundido porque creo que resuelvo pero no obtengo el resultado que necesito.

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

0

Hay dos grandes diferencias entre las expectativas que ha descrito y su código:

  • eliminas una propiedad de user , que es el mismo objeto que pasas en este caso específico, pero si pasas algo más, tu function actual eliminaría incorrectamente el nombre del user incluso si tuvieras la intención de eliminar el name de otro objeto
  • su función devuelve un valor, mientras que declaró que no es su intención

 let user = {}; user.name = "name"; function removeName (person){ delete person.name; } removeName(user); console.log(user);

about 4 years ago · Juan Pablo Isaza Report

0

El user y la person son el mismo objeto en el montón (tienen la misma referencia/puntero). Entonces, si desea eliminar la propiedad solo para el objeto de person en función, debe crear una copia de este objeto y eliminarla allí. Si necesita una función para no devolver nada, simplemente eliminando la propiedad de la person , intente esto:

 let user = {}; user.name = "name"; export default function removeName (person){ let copy = Object.assign({}, person); delete copy.name; } removeName(user); console.log(user);
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!