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

356
Vistas
Cómo filtrar datos json con múltiples valores incluidos

Incluye un método que funciona solo para un valor, pero quiero filtrar varios valores con una coma como esta "mahmoud, faizan". Obtendré estos valores de la entrada del usuario.

datos json

 [{ "text": "adnan hassan" }, { "text": "adnan hassan mahmoud", }, { "text": "adnan hassan faizan", }]

Función de filtro

 const filterFunction = (a) => { if(includeKeyword) return a.text.includes("mahmoud") }

Función de filtro con representación de mapa

 postRes.filter(filterFunction).map((data, index) => (
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Le di dos declaraciones de devolución para elegir, dependiendo de si desea hacer coincidir todas las partes o al menos una parte de lo que se escribió:

 const filterFunction = (a) => { if(includeKeyword) const parts = userInput.split(","); // if you need the returned element to match *all* parts (AND) return parts.every(p => a.text.includes(p.trim()); // if you need it to match *at least one* part (OR) return parts.some(p => a.text.includes(p.trim()); } };
about 4 years ago · Juan Pablo Isaza Denunciar

0

para su escenario, puede personalizar la función de filtro para obtener un segundo parámetro y usar array.some:

 const filterFunction = (a, searchArray) => { if (searchArray.some((v) => a.text.includes(v))) { return a; } }; const result = postRes.filter((item) => filterFunction(item, ["mahmoud", "faizan"])); console.log("result ", result);
about 4 years ago · Juan Pablo Isaza Denunciar

0

si te gusta resolver por métodos javascript, como muchas personas señalaron

 if (["mahmoud", "faizan"].some((v) => a.text.includes(v))) { return a; }

si te gusta la expresión regular, hazlo de esta manera

 if(a.text.match(/(mahmoud|faizan)/)){ return a }
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