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

186
Vistas
Hacer arr de objetos con la misma clave javascript

tengo arr

 let arr = [ {tags: {x: 2, y: 12}}, {type: {x: 23, y: 44}}, {order: {x: 5, y: 1200}}, ]

y necesidad (la misma clave, pero el valor debe provenir de x actual)

 let arr = [ {tags: 2}, {type: 23}, {order: 5} ]

lo que intento

 arr.map(({ k, v }) => { [k]: vx });

Por favor sobre ayuda!!

about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

Esta debería ser una forma posible de obtener el objetivo deseado.

Fragmento de código

 let arr = [ {tags: {x: 2, y: 12}}, {type: {x: 23, y: 44}}, {order: {x: 5, y: 1200}}, ]; const res = arr.flatMap( obj => Object.entries(obj).map( ([k, {x}]) => ({ [k]: x }) ) ); console.log(res);

Explicación

  • Iterar sobre la matriz usando .flatMap() (para evitar una matriz anidada en el resultado)
  • Tome cada objeto ( obj ) e itere sobre pares clave-valor usando Object.entries()
  • Ahora, desestructura el iterador [key, value] para acceder directamente a prop x
  • Transformarlo en un objeto con x como el valor
about 4 years ago · Santiago Gelvez Denunciar

0

let arr = [ {tags: {x: 2, y: 12}}, {type: {x: 23, y: 44}}, {order: {x: 5, y: 1200}}, ] arr.map((item) => { const newItem = {} newItem[ Object.keys(item)[0]] = item[Object.keys(item)[0]].x return newItem })

Esta es mi solución. ¡Funcionó pero no creo que sea una buena respuesta!

about 4 years ago · Santiago Gelvez Denunciar

0

Te estás moviendo en la dirección correcta. Solo necesita Object.entries para ayudarlo a obtener k y v como una matriz [k, v] .

 let arr = [ {tags: {x: 2, y: 12}}, {type: {x: 23, y: 44}}, {order: {x: 5, y: 1200}} ]; const output = arr.flatMap( o => Object.entries(o).map(([k,v]) => ({[k]:vx})) ); console.log( output );

Alternativamente, dado que v tiene las mismas propiedades en todos los elementos, puede usar la desestructuración como en la demostración a continuación:

 let arr = [ {tags: {x: 2, y: 12}}, {type: {x: 23, y: 44}}, {order: {x: 5, y: 1200}} ]; const output = arr.flatMap( o => Object.entries(o).map(([k,{x,y}]) => ({[k]:x})) ); console.log( output );

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