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

121
Vistas
Encuentre la longitud de los atributos vacíos en el objeto JavaScript anidado

¿Hay alguna forma de calcular la cantidad total de atributos vacíos dentro de un objeto anidado?

 [{ "name": test, "id" : "", "rating": { "title": "", "type": "book", "star": 2 } }]

Object.keys(data).length pero obviamente esto no me devuelve los anidados.

Cualquier sugerencia sería útil.

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

0

Puede crear una función recursiva con Array.reduce() para iterar todos los valores, y si un valor también es un objeto (o una matriz), llame a la función en el objeto anidado:

 const isNonNullObject = obj => typeof obj === 'object' && obj !== null const countEmpty = obj => Object.values(obj) .reduce((acc, v) => { if(v === '') return acc + 1 if(isNonNullObject(v)) return acc + countEmpty(v) return acc }, 0) const arr = [{"name":"test","id":"","rating":{"title":"","type":"book","star":2}}] const result = countEmpty(arr) console.log(result)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Use una reduce recursiva:

 let data = [{"name": "test","id" : "","rating": {"title": "","type": "book","star": 2}}]; let count = data.reduce(function recur(sum, obj) { return sum + (obj === "" || Object(obj) === obj && Object.values(obj).reduce(recur, 0)); }, 0); console.log(count);

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