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

375
Vistas
¿Cómo buscar la palabra exacta o más cercana en una matriz, usando javaScript RegEx?

En mi aplicación, implementé la búsqueda local usando expresiones regulares, tengo un problema, no pude encontrar la solución incluso después de buscar mucho, como puede ver, tengo una matriz de words , que filtro según la condición, quiero implementar algo así:

si el usuario escribe ele en el cuadro de búsqueda, quiero obtener ['electric', 'elektric'] , lo mismo debería suceder si el usuario escribe ric en el resultado del campo de entrada: ['electric', 'elektric'] , pero en caso de que el el usuario ingresa el nombre exacto, por ejemplo, el resultado electric debe ser: ['electric'] Por último, si la entrada será cooling , el resultado debe ser ['engine cooling']

Como puede ver, Mi objetivo es buscar en el sistema la palabra exacta o las letras exactas o la opción lógica más cercana. Tomaré cualquier consejo, gracias

 let words = ['electric', 'elektric', 'engine cooling'] function bestMatch(event){ let match = words.filter((e) => new RegExp(`^${event.value}`,"ig").test(e)); console.log(match) }
 <input type="text" placeholder="best match" onchange="bestMatch(this)" />

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

0

Agregue .* antes y después para que la expresión regular funcione, de modo que la posición en Word no importe, aunque la expresión regular no es necesaria según sus requisitos. En su lugar, puede usar includes . Finalmente, onkeyup podría ser mejor/más rápido para obtener resultados

Con expresiones regulares:

 let words = ['electric', 'elektric', 'engine cooling'] function bestMatch(event){ let match = words.filter((e) => new RegExp(`^.*${event.value}.*`,"ig").test(e)); console.log(match) }
 <input type="text" placeholder="best match" onchange="bestMatch(this)" />
Sin expresiones regulares (y usando onkeyup ):
 let words = ['electric', 'elektric', 'engine cooling'] function bestMatch(event){ let match = words.filter((e) => e.includes(event.value.toLowerCase())) console.log(match) }
 <input type="text" placeholder="best match" onkeyup="bestMatch(this)" />

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