Measure the difference between two strings using the Levenshtein distance algorithm
npm install levenimport leven from 'leven';
leven('cat', 'cow');
//=> 2Type: string
First string.
Type: string
Second string.
Type: object
Type: number
Maximum distance to calculate.
If the actual distance exceeds this value, the function will return maxDistance instead of the actual distance. This can significantly improve performance when you only care about matches within a certain threshold.
Negative and non-integer values are ignored, and the distance is then not capped.
Tip
Without maxDistance, the time grows with the product of the string lengths, so two long strings can block for seconds. With it, the time grows only with the string length times maxDistance. Set it for untrusted input.
import leven from 'leven';
leven('abcdef', '123456', {maxDistance: 3});
//=> 3
leven('cat', 'cow', {maxDistance: 5});
//=> 2Find the closest matching string from an array of candidates.
Type: string
The string to find matches for.
Type: string[]
Array of candidate strings to search through.
Type: object
Same options as leven().
Type: number
Maximum distance to consider. Candidates with a distance greater than this value will be ignored.
Returns the closest matching string from candidates, or undefined if no candidates are provided or if no match is found within maxDistance.
import {closestMatch} from 'leven';
closestMatch('kitten', ['sitting', 'kitchen', 'mittens']);
//=> 'kitchen'
closestMatch('hello', ['jello', 'yellow', 'bellow'], {maxDistance: 2});
//=> 'jello'
// No match within distance threshold
closestMatch('abcdef', ['123456', '1234567890'], {maxDistance: 2});
//=> undefined- leven-cli - CLI for this module