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

126
Vistas
Merge array of arrays containing value

I have an array of objects, each containing arrays and I want to merge them if each array contains display: true. I'm very new to array manipulation, and a nudge in the correct way would be very much appreciated.

Example array:

{
    "first": [
        {
            "name": "John",
            "surname": "Doe",
            "display": true
        },
        {
            "name": "Jane",
            "surname": "Doe",
            "display": false
        }
    ],
    "second": [
        {
            "name": "Sarah",
            "surname": "Doe",
            "display": true
        }
    ]
}

Example of expected result:

[
    {
        "name": "John",
        "surname": "Doe",
        "display": true
    },
    {
        "name": "Sarah",
        "surname": "Doe",
        "display": true
    }
]

I already have javascript code to set each display key to true/false based on search query. I just need the array merged to match the expected result.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

You could get all values and filter the flat array.

const
    data = { first: [{ name: "John", surname: "Doe", display: true }, { name: "Jane", surname: "Doe", display: false }], second: [{ name: "Sarah", surname: "Doe", display: true }] },
    result = Object
        .values(data)
        .flat()
        .filter(({ display }) => display);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Juan Pablo Isaza Denunciar

0

Use a reducer and filter the values within on the display property value. Finally flatten the result:

const mergedByDisplay = Object.entries({
    "first": [{
        "name": "John",
        "surname": "Doe",
        "display": true
      },
      {
        "name": "Jane",
        "surname": "Doe",
        "display": false
      }
    ],
    "second": [{
      "name": "Sarah",
      "surname": "Doe",
      "display": true
    }]
  })
  .reduce((acc, [_, val]) => [...acc, val.filter(v => v.display)], [])
  .flat();
console.log(mergedByDisplay);
.as-console-wrapper { max-height: 100% !important; top: 0; }

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