Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

112
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda