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

199
Vistas
¿Cómo puedo verificar que una clave específica en una matriz esté vacía en cada índice?

Entonces, tengo una serie de objetos para iterar, en cada iteración necesito verificar si una clave llamada blocks tiene o no tiene longitud.

Si todas las claves de los blocks están vacías (longitud === 0), entonces necesito hacer una operación; de lo contrario, no lo haga. ¿Consíguelo? Si SÓLO UNA tecla de blocks tiene una length > 0 , se debe evitar la operación.

 for (let i = 0; i < blockColumns.length; i++) { if (!blockColumns[i].blocks.length) { // TRIGGER OPERATION } }

En el código anterior, el problema es que la operación se activará cuando al menos una tecla de blocks no tenga longitud, lo que no necesito. La operación debe activarse SOLAMENTE cuando todas las claves de los blocks tienen una length === 0 .

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

0

Use Array.every() para verificar que cada elemento tenga una longitud de 0 (!0 === verdadero). Si todos los elementos tienen una longitud de 0, cada devolvería true . Si se encuentra un false (es decir, longitud > 0), todos devolverían false inmediatamente.

 const allEmpty = blockColumns.every(o => !o.blocks.length) if(allEmpty) doSomething()
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto suena como algo para lo que Array.prototype.every sería útil:

 if (blockColumns.every((el) => el?.blocks?.length === 0)) { // Do your operation }

He usado el encadenamiento opcional aquí porque no estoy seguro de si puede haber un caso en el que un elemento no tenga una propiedad de blocks , o si esa propiedad puede no tener una propiedad de length . Pero dependiendo de la confianza que pueda tener en su estructura de datos, es posible que no necesite hacer eso.

about 4 years ago · Juan Pablo Isaza Denunciar

0

bueno entonces puedes hacer

 x = 0 for (let i = 0; i < blockColumns.length; i++) { if (!blockColumns[i].blocks.length > 0) { x+=1; } } if(x == blockColumns.length){ //do something }

esta es una forma muy simple de hacerlo y no creo que sea eficiente en absoluto, pero hace el trabajo por ahora: D

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