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

179
Visualizações
Objeto Crear y nuevo Objeto en JavaScript

Quiero crear una matriz de objetos y luego construir una cadena JSON. tengo el siguiente código. Después de intentarlo muchas veces, encontré la solución. ¿Alguien puede explicar la diferencia entre crear y el nuevo operador? Me parece que crear es hacer una copia del objeto.

 HmiUserList = []; var oco = {}; //If I use the following line it gives wrong string //oco = Object.create({}); for (var i = 0; i < 3; i++) { //If I use the following gives right string oco = new Object(); oco.UserName = i.toString(); oco.GroupName = (i + 2).toString(); var count = HmiUserList.push(oco); console.log(JSON.stringify(HmiUserList)); } //Wrong string if I use the create or if I don't use the new for oco [{"UserName":"2","GroupName":"4"},{"UserName":"2","GroupName":"4"},{"UserName":"2","GroupName":"4"}] //Target string [{"UserName":"0","GroupName":"2"},{"UserName":"1","GroupName":"3"},{"UserName":"2","GroupName":"4"}]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La diferencia de comportamiento aquí no está relacionada con el uso de Object.create o new . Es causado por dónde pones la asignación a oco : en el bucle o antes del bucle.

Cuando lo hace antes del ciclo, solo hay un objeto, que el ciclo sigue mutando, iteración tras iteración, y empuja ese mismo objeto en la matriz de salida. Aunque la matriz termina con 3 referencias a objetos, las tres representan el mismo objeto.

Cuando lo hace dentro del bucle, crea un nuevo objeto en cada iteración, de modo que sus asignaciones de propiedades afecten a ese objeto, y no a un objeto que ya se colocó en la matriz. Su matriz termina con 3 objetos diferentes según lo previsto.

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