fuzzball.js
Easy to use and powerful fuzzy string matching, port of fuzzywuzzy. (by nol13)
js-levenshtein
The most efficient JS implementation calculating the Levenshtein distance, i.e. the difference between two strings. (by gustf)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
fuzzball.js | js-levenshtein | |
---|---|---|
2 | 1 | |
502 | 428 | |
- | - | |
4.1 | 0.0 | |
9 days ago | almost 2 years ago | |
JavaScript | JavaScript | |
GNU General Public License v3.0 only | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fuzzball.js
Posts with mentions or reviews of fuzzball.js.
We have used some of these posts to build our list of alternatives
and similar projects.
-
Unlocking Advanced RAG: Citations and Attributions
import { ratio, } from 'fuzzball'; import { SequenceMatcher } from 'difflib'; // modified from: https://github.com/nol13/fuzzball.js/blob/773b82991f2bcacc950b413615802aa953193423/fuzzball.js#L942 function partial_ratio(str1: string, str2: string) { if (str1.length <= str2.length) { var shorter = str1 var longer = str2 } else { var shorter = str2 var longer = str1 } var m = new SequenceMatcher(null, shorter, longer); var blocks = m.getMatchingBlocks(); let bestScore: number = 0; let bestMatch: string | null = null let bestStartIdx: number = -1 for (var b = 0; b < blocks.length; b++) { var long_start = (blocks[b][1] - blocks[b][0]) > 0 ? (blocks[b][1] - blocks[b][0]) : 0; var long_end = long_start + shorter.length; var long_substr = longer.substring(long_start,long_end); var r = ratio(shorter,long_substr); if (r > bestScore) { bestScore = r; bestMatch = long_substr; bestStartIdx = long_start; } if (r > 99.5) { break; } } return { bestMatch, bestScore, bestStartIdx, } }
-
I'm thinking of making a search tool to find Dunkey quotes. Here is a very early prototype. More details in comment.
I’ve been using the fuzzball package for the search algorithm in my current project. It might be able to help with matching non-exact strings
js-levenshtein
Posts with mentions or reviews of js-levenshtein.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-01-27.
-
Is SQLite available in the browser?
You can write the algorithm from the pseudo code on Wikipedia, or use a library that already implemented it like: https://github.com/gustf/js-levenshtein
What are some alternatives?
When comparing fuzzball.js and js-levenshtein you can also consider the following projects:
ZLOOKUP - Google Sheet Fuzzy String Matching Function
Quickenshtein - Making the quickest and most memory efficient implementation of Levenshtein Distance with SIMD and Threading support
wildflower - Efficient wildcard matching against strings
SymSpell - SymSpell: 1 million times faster spelling correction & fuzzy search through Symmetric Delete spelling correction algorithm
sql.js - A javascript library to run SQLite on the web.
dice-coefficient - Sørensen–Dice coefficient