wink-jaro-distance
Version:
An Implementation of Jaro Distance Algorithm by Matthew A. Jaro
107 lines (65 loc) • 4.7 kB
Markdown
An Implementation of [Jaro Distance](https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance#Jaro_distance) Algorithm by Matthew A. Jaro
<img align="right" src="https://decisively.github.io/wink-logos/logo-title.png" width="100px" >
De-duplicate short strings such as names by computing similarity and distance between a pair of strings using **`wink-jaro-distance`**. It is an implementation of Jaro Distance Algorithm that determines the similarity/distance by taking into account the insertions, deletions and transpositions.
Use [npm](https://www.npmjs.com/package/wink-jaro-distance) to install:
npm install wink-jaro-distance --save
```javascript
// Load Jaro Distance Function
var jaro = require( 'wink-jaro-distance' );
console.log( jaro( 'father', 'farther') );
// -> { distance: 0.04761904761904756, similarity: 0.9523809523809524 }
console.log( jaro( 'Angelina', 'Angelica') );
// -> { distance: 0.08333333333333337, similarity: 0.9166666666666666 }
console.log( jaro( 'Flikr', 'Flicker' ) );
// -> { distance: 0.09523809523809523, similarity: 0.9047619047619048 }
console.log( jaro( 'abcdef', 'fedcba' ) );
// -> { distance: 0.6111111111111112, similarity: 0.38888888888888884 }
```
Try [experimenting with this example on Runkit](https://npm.runkit.com/wink-jaro-distance) in the browser.
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
- [jaro](
- [Parameters](
- [Examples](
Computes Jaro distance and similarity between strings `s1` and `s2`.
Original Reference: UNIMATCH:
[](https://books.google.co.in/books?id=Ahs9TABe61oC)
- `s1` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** — the first string.
- `s2` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** — the second string.
```javascript
jaro( 'daniel', 'danielle' );
// -> { distance: 0.08333333333333337, similarity: 0.9166666666666666 }
jaro( 'god', 'father' );
// -> { distance: 1, similarity: 0 }
```
Returns **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** containing `distance` and `similarity` values between 0 and 1.
Computes Jaro distance and similarity between strings `s1` and `s2`.
Original Reference: UNIMATCH:
[](https://books.google.co.in/books?id=Ahs9TABe61oC)
**Parameters**
- `s1` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** — the first string.
- `s2` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** — the second string.
**Examples**
```javascript
jaro( 'daniel', 'danielle' );
// -> { distance: 0.08333333333333337, similarity: 0.9166666666666666 }
jaro( 'god', 'father' );
// -> { distance: 1, similarity: 0 }
```
Returns **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** containing `distance` and `similarity` values between 0 and 1.
If you spot a bug and the same has not yet been reported, raise a new [issue](https://github.com/winkjs/wink-jaro-distance/issues) or consider fixing it and sending a pull request.
[](http://winkjs.org/) is a family of open source packages for **Statistical Analysis**, **Natural Language Processing** and **Machine Learning** in NodeJS. The code is **thoroughly documented** for easy human comprehension and has a **test coverage of ~100%** for reliability to build production grade solutions.
**wink-jaro-distance** is copyright 2017-18 [GRAYPE Systems Private Limited](http://graype.in/).
It is licensed under the terms of the MIT License.