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

112
Vistas
¿Optimizar Double For-Each, o al menos hacerlo más legible?

Así que ahora mismo tengo un objeto con la siguiente forma y la tarea es recorrer cada elemento en todas las matrices y comparar cada uno con todos los demás elementos en todas las matrices.

 things: Things = { "Type1Things": [], "Type2Things": [], "Type3Things": [], }

Así es como lo tengo escrito actualmente:

 Object.keys(things).forEach( (key: string) => { things[key].forEach( ( outerThing: Overlay ) => { Object.keys(things).forEach( (key1: string) => { things[key1].forEach( ( innerThing: Overlay ) => { // compare inner and outer things }) }) }) })

¿Existe un método mejor para realizar esta tarea, o al menos una forma más legible de escribirla? ¿Podría una función recursiva lograr esto mejor?

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

0

He resumido esto usando Typescript. Puede que no sea exactamente lo que está buscando, pero ayudará con la legibilidad y los errores que aparecen al tomar las teclas de los objetos. También le ahorra tener que escribir la mayoría de los tipos en su ejemplo.

 const OBJ = { Keys: <T extends Record<string, unknown>>(obj: T): (keyof T)[] => (Object.keys(obj) as any) }

Uso:

 for (const keyX in OBJ.Keys(things)) { for (const keyY in OBJ.Keys(things[keyX])) { console.log(`${keyY}: ${things[keyX][keyY]}`); }
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