Table of Contents
- Release Notes
npm install string-similarity --save
In your code:
var stringSimilarity = ;var similarity = stringSimilarity;var matches = stringSimilarity;
For browser apps
<script src="//unpkg.com/string-similarity/umd/string-similarity.min.js"></script> to get the latest version.
<script src="//email@example.com/umd/string-similarity.min.js"></script> to get a specific version (4.0.1) in this case.
This exposes a global variable called
stringSimilarity which you can start using.
<script> stringSimilarity.compareTwoStrings('what!', 'who?'); </script>
(The package is exposed as UMD, so you can consume it as such)
The package contains two methods:
Returns a fraction between 0 and 1, which indicates the degree of similarity between the two strings. 0 indicates completely different strings, 1 indicates identical strings. The comparison is case-sensitive.
- string1 (string): The first string
- string2 (string): The second string
Order does not make a difference.
(number): A fraction from 0 to 1, both inclusive. Higher number indicates more similarity.
stringSimilarity;// → 0.8stringSimilarity;// → 0.6060606060606061stringSimilarity;// → 0.2558139534883721stringSimilarity;// → 0.1411764705882353
mainString against each string in
- mainString (string): The string to match each target string against.
- targetStrings (Array): Each string in this array will be matched against the main string.
(Object): An object with a
ratings property, which gives a similarity rating for each target string, a
bestMatch property, which specifies which target string was most similar to the main string, and a
bestMatchIndex property, which specifies the index of the bestMatch in the targetStrings array.
stringSimilarity;// →ratings:target: 'For sale: green Subaru Impreza, 210,000 miles'rating: 02558139534883721target: 'For sale: table in very good condition, olive green in colour.'rating: 06060606060606061target: 'Wanted: mountain bike with at least 21 gears.'rating: 01411764705882353bestMatch:target: 'For sale: table in very good condition, olive green in colour.'rating: 06060606060606061bestMatchIndex: 1
- Removed production dependencies
- Updated to ES6 (this breaks backward-compatibility for pre-ES6 apps)
- Performance improvement for
compareTwoStrings(..): now O(n) instead of O(n^2)
- The algorithm has been tweaked slightly to disregard spaces and word boundaries. This will change the rating values slightly but not enough to make a significant difference
- Adding a
bestMatchIndexto the results for
findBestMatch(..)to point to the best match in the supplied
- Refactoring: removed unused functions; used
- Updated dependencies
- Distributing as an UMD build to be used in browsers.