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

179
Vistas
¿Cómo eliminar mis expresiones ternarias anidadas en mi código?

Me gustaría limpiar mi código pero no puedo. Me gustaría deshacerme de las expresiones ternarias anidadas. Trabajo con react js 17.0.2. ¿Tienes alguna idea para ayudarme?

 const buildNewFilters = (query, filtersIndex: Array<string>) => { const newFilters = {}; for (let i = 0; i < filtersIndex.length; i++) { newFilters[filtersIndex[i]] = router.query[filtersIndex[i]] ? typeof router.query[filtersIndex[i]] == ('string' || 'number') ? [router.query[filtersIndex[i]]] : router.query[filtersIndex[i]] : undefined if (filtersIndex[i] === 'designers' && newFilters.designers) { newFilters.designers = newFilters.designers.map(designer => parseInt(designer)); } } return newFilters; };

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

0

Si no está acostumbrado a trabajar con operadores ternarios, entiendo que no es fácil refactorizar el código. Primero, puede leer sobre qué son las expresiones ternarias y probarlas en la Documentación de Mozilla sobre operadores ternarios . Básicamente, la parte del código antes del ? se evalúa como true o false y si se evalúa como true , se ejecuta la parte anterior al siguiente : (en su caso, se asigna a la variable newFilters[filtersIndex[i]] , de lo contrario, la parte posterior al : se asignará a la variable.

Mi consejo sería colocar la línea que desea refactorizar en un editor de texto para experimentar con ella y agregar saltos de línea y/o tabulaciones después del ? y : signos para ver mejor la estructura y ver lo que sucede en cada paso.

about 4 years ago · Juan Pablo Isaza Denunciar

0

if (router.query[filtersIndex[i]]) { if (typeof router.query[filtersIndex[i]] == ("string" || "number")) { newFilters[filtersIndex[i]] = [router.query[filtersIndex[i]]]; } else { newFilters[filtersIndex[i]] = router.query[filtersIndex[i]]; } } else { newFilters[filtersIndex[i]] = undefined; }
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