Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

176
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda