Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

200
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda