Fuse.js
Lightweight fuzzy-search, in JavaScript
...Generally speaking, fuzzy searching (more formally known as approximate string matching) is the technique of finding strings that are approximately equal to a given pattern (rather than exactly). It might not make sense for every situation, but can be ideal depending on your search requirements. For example, qhen you want client-side fuzzy searching of small to moderately large data sets. Also, when you can't justify setting up a dedicated backend simply to handle search. ElasticSearch or Algolia, although both great services, may be overkill for your particular use cases. You can access all options above via Fuse.config. ...