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

190
Vistas
Comprobación de Nesting de objetos

Puede haber dos conjuntos de objetos.

Primero puede ser sencillo donde no hay niños

 const noChildObj = [{ "id": 1, "label": ["Description"], "lines": 1, "type": "string", "precision": 2, "width": 167.8 }, { "id": 2, "label": ["Information", "Ratio"], "lines": 2, "type": "number", "precision": 2, "width": 167.8 }, { "id": 3, "label": ["Tracking", "Error"], "lines": 2, "type": "number", "precision": 2, "width": 167.8 }]

Entonces, en este caso, no hay child , por lo que la propiedad 'width' está en la capa superior. El segundo es donde ocurre el anidamiento de objetos.

Entonces, cada objeto en la matriz tendrá un objeto secundario

 [{ "id": "257", "label": [""], "lines": 1, "children": [{ "id": "Description", "label": ["Dates"], "lines": 1, "type": "date", "precision": null, "width": 839 }] }, { "id": "258", "label": ["Cumulative Return"], "lines": 1, "children": [{ "id": 12, "label": ["Russell 1000 Value - Price Return"], "lines": 1, "type": "number", "precision": 2, "width": 839 }] }]

Aquí cada objeto tiene un objeto secundario donde existe la propiedad ancho

Este anidamiento no se limita a solo 1 nivel Puede llegar hasta 4 niveles

Entonces, mi caso de uso requiere si el niño más interno tiene un ancho indefinido o no

Me doy cuenta de que a través de la recursión, podemos atravesar y descubrir ... Pero, ¿hay alguna función que pueda hacerlo en menos líneas de código ... puede estar en lodash

Por favor ayuda

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

0

Saber solo cómo hacerlo con recursividad:

 const objArray = [{ "id": 1, "label": ["Description"], "lines": 1, "type": "string", "precision": 2, "width": 167.8 }, { "id": "257", "label": [""], "lines": 1, "children": [{ "id": "Description", "label": ["Dates"], "lines": 1, "type": "date", "precision": null, "width": 839 }] }] const getWidthDeep = (el) => el.children && el.children[0] ? getWidthDeep(el.children[0]) : el.width const result = objArray.map(getWidthDeep) console.log(result)

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