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

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

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 Relatório

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 Relatório

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