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

156
Vistas
múltiples sentencias if en una mejor estructura
list.forEach(el, i) { var isTrue = true; if (isTrue && i == 0) { ary[0] = obj.innerText; } if (isTrue && i == 1) { ary[0] = obj.closest(list[0]).innerText; ary[1] = obj.innerText; } if (isTrue && i == 2) { ary[0] = obj.closest(list[0]).innerText; ary[1] = obj.closest(list[1]).innerText; ary[2] = obj.innerText; } //same pattern continues up to dozens of if statements })

Hola, soy nuevo en la programación JS. la lista contiene selectores css. obj es el elemento DOM. ¿Cómo puedo mejorar este código?

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

0

Todas las declaraciones if parecen superfluas y repetitivas, ¿por qué no hacerlo todo a la vez? Extraiga todo .textContent de los elementos coincidentes, luego coloque el obj.textContent al final.

 const ary = Array.from( { length: i - 1 }, (_, i) => obj.closest(list[i]).textContent ).concat(obj.textContent);

Es casi seguro que desea .textContent , no .innerText .

Si es posible que la list no contenga la misma cantidad de elementos que la cantidad de condiciones i que tiene, simplemente corte la matriz a la longitud deseada antes de concatenar en el obj.textContent final.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Dado que el valor de isTrue no cambia, el cuerpo puede ser:

 ary[i] = obj.textContent; while (i--) { ary[i] = obj.closest(list[i]).textContent; }

Es probable que tampoco necesite el bucle forEach , simplemente inicialice i en ary.length - 1 .

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