Socket
Socket
Sign inDemoInstall

js-levenshtein

Package Overview
Dependencies
0
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    js-levenshtein

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


Version published
Weekly downloads
3.3M
increased by2.73%
Maintainers
1
Install size
6.50 kB
Created
Weekly downloads
 

Package description

What is js-levenshtein?

The js-levenshtein npm package is used to calculate the Levenshtein distance between two strings. The Levenshtein distance is a measure of the difference between two sequences, which is the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one word into the other.

What are js-levenshtein's main functionalities?

Calculate Levenshtein distance

This feature allows you to calculate the Levenshtein distance between two strings. In the code sample, the distance between 'kitten' and 'sitting' is calculated, which is 3.

const levenshtein = require('js-levenshtein');
let distance = levenshtein('kitten', 'sitting');
console.log(distance); // Output: 3

Other packages similar to js-levenshtein

Readme

Source

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

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

Keywords

FAQs

Last updated on 10 Jan 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc