• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

178
Vistas
Elimine los duplicados de la matriz de objetos y almacene valores no duplicados en la matriz

Necesito fusionar una matriz de entregas que tienen notas, ¿cómo eliminaría el objeto duplicado pero mantendría la cadena de notas y la almacenaría en una matriz para el objeto no duplicado?

Clave comienza el número de entrega:

 "data": [ { "deliveryNumber": "0000001", "deliveryDate": "2021-10-01T00:00:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "", "notes": "Note 1" }, { "deliveryNumber": "0000001", "deliveryDate": "2021-10-01T00:00:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "Ready", "notes": "Note 2" }, { "deliveryNumber": "0000002", "deliveryDate": "2021-10-01T14:21:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "Ready", "notes": null } ]

dentro

 "data": [ { "deliveryNumber": "0000001", "deliveryDate": "2021-10-01T00:00:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "Ready", "notes": ["Note 1", "Note 2"] }, { "deliveryNumber": "0000002", "deliveryDate": "2021-10-01T14:21:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "Ready", "notes": null } ]
over 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar Array.prototype.forEach() para recorrer la matriz de notas. Si se encuentra una nota dos veces, sume sus notas.

 const notes = [ { "deliveryNumber": "0000001", "deliveryDate": "2021-10-01T00:00:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "", "notes": "Note 1" }, { "deliveryNumber": "0000001", "deliveryDate": "2021-10-01T00:00:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "Ready", "notes": "Note 2" }, { "deliveryNumber": "0000002", "deliveryDate": "2021-10-01T14:21:00.000Z", "dateBeginProcess": null, "dateFinishedProcess": null, "status": "Ready", "notes": null } ] let filteredArray = [] notes.forEach(note => { let noteFound = filteredArray.find(el => el.deliveryNumber === note.deliveryNumber) if(noteFound){ // not first encounter // add notes together noteFound.notes.push(note.notes) }else{ // first encounter // make notes an array note.notes = [note.notes||''] filteredArray.push(note) } }) console.log(filteredArray)

over 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda