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

100
Vistas
Obtener la última apariencia de un valor profundamente anidado por propiedad especificada

Tengo este objeto como ejemplo:

 const obj = { group: { data: { data: [ { id: null, value: 'someValue', data: 'someData' } ] } } };

Mi objetivo es obtener un valor por nombre de propiedad.

En este caso, me gustaría obtener el valor de la propiedad de data , pero la última aparición de la misma.

Lo que significa que la salida esperada es:

 someData

Sin embargo, estoy usando esta función recursiva para recuperarla:

 const findVal = (obj, propertyToExtract) => { if (obj && obj[propertyToExtract]) return obj[propertyToExtract]; for (let key in obj) { if (typeof obj[key] === 'object') { const value = findVal(obj[key], propertyToExtract); if (value) return value; } } return false; };

Lo que me da la primera aparición de data , es decir:

 data: [ { value: 'someValue', data: 'someData' } ]

¿Cómo puedo obtener el resultado deseado?

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

0

una forma puede ser aplanar recursivamente el objeto y simplemente obtener el índice deseado (aquí los datos)

 const obj = { group: { data: { data: [ { id: null, value: 'someValue', data: 'someData' } ] } } }; function deepFlat(obj) { let flatObj = {}; flat(obj,flatObj); console.log(flatObj); return flatObj; } function flat(toFlat, flatObj) { Object.entries(toFlat).forEach(elem => { if (elem[1] && typeof elem[1] === 'object') { flat(elem[1], flatObj); } else { flatObj[elem[0]] = elem[1]; } }); } let result = deepFlat(obj); console.log(result['data']);

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