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

135
Vistas
Actualización de objetos JS + Reductor de reacción

Estoy luchando por actualizar todos los atributos "nuevos" demasiado falsos. A continuación se muestra un objeto de ejemplo.

 const msgdata = { "1511207758": { "userid": "1000015977", "text": "hello", "new": false, "subjecttitle": null, "subjectcontent": null, "datetime": "2017-11-20T19:55:58.000Z" }, "1511277428": { "userid": "1000000000", "text": "hey hi", "new": false, "subjecttitle": null, "subjectcontent": null, "datetime": "2017-11-21T15:17:08.000Z" }, "1640341426": { "userid": "1000000000", "text": "hellow how are you?", "new": false, "subjecttitle": null, "subjectcontent": null, "datetime": "2021-12-24T10:23:45.706Z" }, "1640342296": { "userid": "1000000000", "text": "asdfasdf", "new": true, "subjecttitle": null, "subjectcontent": null, "datetime": "2021-12-24T10:38:16.089Z" }, "1640342382": { "userid": "1000000000", "text": "fxvfv", "new": true, "subjecttitle": null, "subjectcontent": null, "datetime": "2021-12-24T10:39:41.910Z" }

}

cuando intento lo siguiente, arruino los cambios en la estructura del objeto a una matriz, pero necesito mantener la estructura del objeto/clave; simplemente cambie el nuevo valor a falso.

 let newMessages = {} if (payload.length > 0) { payload.map((item) => { if (messagesData && messagesData[item.userid]) { newMessages = Object.keys(messagesData[item.userid].messages).map((key) => ({ ...newMessages[item.userid].messages[key], new: false })) } return true }) console.dir('newMessages') console.dir(newMessages)

el objeto de retorno es una matriz estándar: el mapa hace eso... por ejemplo: 0,1,2 claves...

¿Cómo puedo mantener la estructura del objeto y simplemente cambiar el nuevo atributo?

gracias

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede map() las entradas de los objetos, cambiar el new valor a false y devolver las entradas para crear un nuevo objeto.

 const msgdata = { "1511207758": { "userid": "1000015977", "text": "hello", "new": false, "subjecttitle": null, "subjectcontent": null, "datetime": "2017-11-20T19:55:58.000Z" }, "1511277428": { "userid": "1000000000", "text": "hey hi", "new": false, "subjecttitle": null, "subjectcontent": null, "datetime": "2017-11-21T15:17:08.000Z" }, "1640341426": { "userid": "1000000000", "text": "hellow how are you?", "new": false, "subjecttitle": null, "subjectcontent": null, "datetime": "2021-12-24T10:23:45.706Z" }, "1640342296": { "userid": "1000000000", "text": "asdfasdf", "new": true, "subjecttitle": null, "subjectcontent": null, "datetime": "2021-12-24T10:38:16.089Z" }, "1640342382": { "userid": "1000000000", "text": "fxvfv", "new": true, "subjecttitle": null, "subjectcontent": null, "datetime": "2021-12-24T10:39:41.910Z" } } const result = Object.fromEntries(Object.entries(msgdata).map(([k, v]) => { return [k, { ...v, new: false }] })); console.log(result);

about 4 years ago · Santiago Trujillo 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