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

206
Vistas
Contar elementos de nivel inferior en objeto anidado de objetos de matrices

Tengo un "objeto de objetos de matrices" y simplemente necesito obtener el recuento total de elementos en las matrices de "nivel inferior" ... así que con el ejemplo a continuación, necesito devolver 19 (contar elementos a a s ):

 var arr={ 'AA': { 'aa': ['a','b'], 'bb': ['c','d'], 'cc': ['e','f'], 'dd': ['g','h'] }, 'BB': { 'ee': ['i','j'], 'ff': ['k','l'] }, 'CC': { 'gg': ['m','n'], 'hh': ['o','p'], 'ii': ['q','r','s'] } };

Lo tengo trabajando con esto, pero no es bonito:

 var cnt=0; for(var f0 in arr){ for(var f1 in arr[f0]){ cnt+=arr[f0][f1].length; } }

Probablemente sea mejor usar el map y reduce , pero no puedo entenderlo. Hay preguntas y respuestas similares (como esta ), pero no pude encontrar una que se ajuste a esta situación.

¡Gracias!

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

0

Al usar Object.values para acceder a los valores asociados con cada clave, puede usar una reduce anidada para contar todos los elementos del nivel inferior:

 var arr={ 'AA': { 'aa': ['a','b'], 'bb': ['c','d'], 'cc': ['e','f'], 'dd': ['g','h'] }, 'BB': { 'ee': ['i','j'], 'ff': ['k','l'] }, 'CC': { 'gg': ['m','n'], 'hh': ['o','p'], 'ii': ['q','r','s'] } }; const cnt = Object.values(arr) .reduce((c, o) => c + Object.values(o) .reduce((c, a) => c + a.length, 0), 0); console.log(cnt)

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