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

155
Vistas
Filtrar si la matriz de cadenas coincide parcialmente

Quiero filtrar la matriz si contiene una cadena en particular. Funciona como se muestra a continuación. Pero no estoy seguro de cómo resolverlo si hay varias cadenas para hacer coincidir. Por ejemplo, en lugar de skillText = "Entry Level"; si tenemos skillText = ["Entry Level", "Scientist", "Analyst"];

 var myList = [{"Title":"Entry Level - Data Analyst","Location":"Boston"}, {"Title":"Entry Level3 - Analyst","Location":"Delhi"}, {"Title":"Scientist","Location":"Boston"}]; skillText = "Entry Level"; result = myList.filter(function(v) { return v["Title"].indexOf(skillText) > -1; }) console.log(result);

Para la coincidencia exacta, skillText.includes(v["Title"]) funciona, pero no estoy seguro de cómo hacerlo con las coincidencias parciales.

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

0

Puede usar some función en matrices, devuelve verdadero si alguno de los elementos devuelve verdadero desde la devolución de llamada

 skillTexts = ["Entry Level", "Scientist"]; result = myList.filter(function(v) { return skillTexts.some(function(skill) { return v["Title"].includes(skill) }); })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esta puede ser una posible solución para lograr el objetivo deseado:

Fragmento de código

 const findMatches = (hayStack, needle) => ( hayStack.filter( ({Title}) => ( [].concat( needle ).some( skill => Title.includes(skill) ) ) ) ); const myList = [{"Title":"Entry Level - Data Analyst","Location":"Boston"}, {"Title":"Entry Level3 - Analyst","Location":"Delhi"}, {"Title":"Scientist","Location":"Boston"}]; let skillText = 'Entry Level'; console.log('searching text: "Entry Level"\nfound: ', findMatches(myList, skillText)); skillText = ['Level', 'Analyst', 'Scientist']; console.log('searching array', skillText.join(), '\nfound: ', findMatches(myList, skillText));

Explicación

  • Use .filter para iterar sobre la matriz ( hayStack )
  • Desestructurar para acceder directamente al Title desde el iterador
  • Para acomodar needle (el texto de búsqueda es una cadena o una matriz), primero use [].concat() para obtener una matriz (Esto se hace según el comentario de pilchard en la pregunta anterior)
  • Use .some para iterar y encontrar si algún elemento es parte del Título
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