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

174
Vistas
Converting an object into an array

I have an object that contains other objects, as well as a few numbers i don't want.

I want to convert the object into an array of objects and remove the numbers.

an example:

INPUT

const object = {

  john: {
    instrument: 'violin',
    age: 26
  },

  bob: {
    instrument: 'guitar',
    age: 32
  },

  numberIDontWant: 2,

  flynn: {
    instrument: 'piano',
    age: 3
  },

  numberIDontWant2: 9
}

OUTPUT

  [
    {
      name: 'john',
      instrument: 'violin',
      age: 26
    },
    {
      name: 'bob',
      instrument: 'guitar',
      age: 32
    },
    {
      name: 'flynn',
      instrument: 'piano',
      age: 20
    }
  ]

Can anyone help me with that?

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

0

You could use Object.entries and .map:

console.log(Object.entries({
  john: {
    instrument: 'violin',
    age: 26
  },

  bob: {
    instrument: 'guitar',
    age: 32
  },

  numberIDontWant: 2,

  flynn: {
    instrument: 'piano',
    age: 3
  },

  numberIDontWant2: 9
}).map(([k,v]) => typeof v === 'object' ? ({...v, name: k}) : undefined).filter(i => i))

about 4 years ago · Juan Pablo Isaza Denunciar

0

You'll most likely want to iterate over the Object.entries() so you have access to the key (the name) and the value. It isn't 100% clear what the criteria is for what values to include/exclude, but one way would be to only include the values that have a typeof equal to 'object'.

function objectToArray(obj) {
    let arr = [];
    for (let [name, value] of Object.entries(obj)) {
        if (typeof value === "object") {
            arr.push({
                ...value,
                name,
            });
        }
    }

    return arr;
}

console.log(
    objectToArray({
        john: {
            instrument: "violin",
            age: 26,
        },

        bob: {
            instrument: "guitar",
            age: 32,
        },

        numberIDontWant: 2,

        flynn: {
            instrument: "piano",
            age: 3,
        },

        numberIDontWant2: 9,
    })
);

about 4 years ago · Juan Pablo Isaza Denunciar

0

You could use map and filter

const data = {
  john: {
    instrument: 'violin',
    age: 26
  },
  bob: {
    instrument: 'guitar',
    age: 32
  },
  numberIDontWant: 2,
  flynn: {
    instrument: 'piano',
    age: 3
  },
  numberIDontWant2: 9
}

const result = Object.entries(data).map(([k, v]) => {
    if (typeof v === "object") return { ...v, name: k }
}).filter(x => x);

console.log(result);

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