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

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

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 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