Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

367
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!