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

137
Vistas
Obtener un objeto de propiedad de objeto y agregarlo al objeto principal JavaScript

Tengo datos de un objeto con dos valores de subdatos, uno es una matriz de objetos y el segundo es un tipo de objeto

Solo quiero extraer un valor de cada objeto en la matriz y actualizar ese valor en su objeto principal

 const payload = { data: [ { 'name': 'User One, 'id': 12345, date: '12-23-1', primary_role: { name: 'admin', id: 88888, date: '12-23-1' } }, { 'name': 'User Two', 'id': 12345, date: '12-23-1', primary_role: { name: 'developer', id: 88888, date: '12-23-1' } }, { 'name': 'User Three', 'id': 12345, date: '12-23-1', primary_role: { name: 'developer', id: 88888, date: '12-23-1' } }, { 'name': 'User Four', 'id': 12345, date: '12-23-1', primary_role: { name: 'qa', id: 88888, date: '12-23-1' } }, ], meta: { pagination: { total: 5, current: 10, previous: 2, link: 'https://example.com' } } } console.log([...payload, payload.data.primaryRole = payload.data.primary_role.name])

Por supuesto, es un enfoque incorrecto, quiero obtener el valor del nombre de primary_role y actualizar su objeto principal con este valor, como primaryRole = payload.data[primary_role.name]

quiero un dato asi

 const payload = { data: [ { 'name': 'User One, 'id': 12345, date: '12-23-1', primary_role: { name: 'admin', id: 88888, date: '12-23-1' }, primaryRole: 'admin' }, { 'name': 'User Two', 'id': 12345, date: '12-23-1', primary_role: { name: 'developer', id: 88888, date: '12-23-1' }, primaryRole: 'developer' }, { 'name': 'User Three', 'id': 12345, date: '12-23-1', primary_role: { name: 'developer', id: 88888, date: '12-23-1' }, primaryRole: 'developer' }, { 'name': 'User Four', 'id': 12345, date: '12-23-1', primary_role: { name: 'qa', id: 88888, date: '12-23-1' }, primaryRole: 'qa' }, ], meta: { pagination: { total: 5, current: 10, previous: 2, link: 'https://example.com' } } }

Algún comentario sobre esto???

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

0

Use un bucle simple (tomando la libertad de usar un nombre de propiedad de destino menos ambiguo):

 payload.data.forEach ( po_item => { po_item.primaryRoleName = po_item.primary_role.name; });

Para juzgar si eso tiene sentido en el contexto de su proyecto, se necesitan más datos. En términos más generales, por lo general es mejor producir datos en la forma en que se necesitan que parchearlos.

Versión completa:

 const payload = { data: [ { 'name': 'User One', 'id': 12345, date: '12-23-1', primary_role: { name: 'admin', id: 88888, date: '12-23-1' } }, { 'name': 'User Two', 'id': 12345, date: '12-23-1', primary_role: { name: 'developer', id: 88888, date: '12-23-1' } }, { 'name': 'User Three', 'id': 12345, date: '12-23-1', primary_role: { name: 'developer', id: 88888, date: '12-23-1' } }, { 'name': 'User Four', 'id': 12345, date: '12-23-1', primary_role: { name: 'qa', id: 88888, date: '12-23-1' } } ] }; payload.data.forEach ( po_item => { po_item.primaryRoleName = po_item.primary_role.name; }); console.log(payload);

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