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

204
Vistas
¿Cuál es la mejor manera de usar un bucle for en una instrucción if/else que realiza una tarea similar?

En el siguiente código, incluso si la instrucción if/else se evalúa como verdadera o falsa, se llama a la función doSomething() . Lo que me preguntaba es si hay una manera de refactorizar este código para que sea "DRYer". En mi código real, el cuerpo del bucle es más largo que una sola función que se llama, por lo que creo que vale la pena refactorizarlo.

 if (somethingIsTrue) { array1.forEach(val => { doSomething(val); }); } else { array2.forEach(val => { doSomething(val); }); }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

El operador condicional se puede utilizar aquí. Probablemente tampoco sea necesario el contenedor de funciones anónimas.

 (somethingIsTrue ? array1 : array2).forEach(doSomething);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Aislaría la lógica en una función común y le pasaría la matriz. La función no necesita saber sobre qué matriz se está iterando y esa lógica de decidir qué matriz se puede manejar fuera de la función.

 let somethingIsTrue = true; const mArr1 = [1, 2, 3, 4, 5]; const mArr2 = [6, 7, 8, 9, 10]; businessLogic(somethingIsTrue ? mArr1 : mArr2); somethingIsTrue = !somethingIsTrue; console.log('---------------------------'); businessLogic(somethingIsTrue ? mArr1 : mArr2); function businessLogic(mArr) { mArr.forEach(val => console.log(val)); }

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