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

104
Vistas
filtrar en reaccionar con múltiples condiciones

Estoy aplicando el siguiente filtro en una tabla con la ayuda de useEffect

 useEffect(()=>{ let updated = data.filter(function(e){ if ((e.country === aaa|| e.country === undefined) && (e.age === bbb|| e.age === undefined)){ return true } }) setRows(updated) },[aaa, bbb])

funciona bien cuando se selecciona "Seleccionar" para ambos filtros si uno de ellos no está definido, entonces no muestra ningún dato

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

0

Prefiero hacer múltiples funciones cuando los criterios de filtrado difieren. Es más legible para otros desarrolladores y más fácil de modificar y mantener.

No sé sobre el resultado final real ya que no conozco su caso de uso exacto. Pero esta estructura de código debería darle una pista sobre cómo abordar eso:

 const byCountry = (country) => (item) => { return item.country === country || item.country === undefined; }; const byAge = (age) => (item) => { return item.age === age || item.age === undefined; }; const getUpdated = (data, country, age) => { return data .filter(byCountry(country)) .filter(byAge(age)); }; const data = [{ country: 'Finland', age: '42', }, { country: 'Sweden', age: '39', }, { country: 'Sweden', }]; console.log(getUpdated(data, 'Finland', '42')); console.log(getUpdated(data, 'Sweden', '39'));

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