Need help with js-levenshtein?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

gustf
304 Stars 29 Forks MIT License 31 Commits 3 Opened issues

Description

The most efficient JS implementation calculating the Levenshtein distance, i.e. the difference between two strings.

Services available

!
?

Need anything else?

Contributors list

# 261,824
Objecti...
levensh...
rabbitm...
Erlang
28 commits
# 545,315
TypeScr...
Shell
JavaScr...
levensh...
1 commit
# 56,129
Babel
Django
newtab
Chrome
1 commit
# 120,729
PHP
interfa...
nginx
meteor
1 commit

js-levenshtein Build Status

A very efficient JS implementation calculating the Levenshtein distance, i.e. the difference between two strings.

Based on Wagner-Fischer dynamic programming algorithm, optimized for speed and memory - use a single distance vector instead of a matrix - loop unrolling on the outer loop - remove common prefixes/postfixes from the calculation - minimize the number of comparisons - always allocate a new distance vector in order to not leak memory

Install

$ npm install --save js-levenshtein

Usage

const levenshtein = require('js-levenshtein');

levenshtein('kitten', 'sitting'); //=> 3

Benchmark

$ npm run bench

                  50 paragraphs, length max=500 min=240 avr=372.5
         162 op/s » js-levenshtein
          98 op/s » talisman
          94 op/s » levenshtein-edit-distance
          85 op/s » leven
          39 op/s » fast-levenshtein

                  100 sentences, length max=170 min=6 avr=57.5
       3,076 op/s » js-levenshtein
       2,024 op/s » talisman
       1,817 op/s » levenshtein-edit-distance
       1,633 op/s » leven
         800 op/s » fast-levenshtein

                  2000 words, length max=20 min=3 avr=9.5
       3,119 op/s » js-levenshtein
       2,416 op/s » talisman
       2,141 op/s » levenshtein-edit-distance
       1,855 op/s » leven
       1,260 op/s » fast-levenshtein

Benchmarks was performed with node v8.12.0 on a MacBook Pro 15", 2.9 GHz Intel Core i9

License

MIT © Gustaf Andersson

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.