String
Methods
hamming
Computes the hamming distance between two strings of identical length.
This distance is always >= 0.
Example
hamming( 'john', 'john' );
// ->  0
hamming( 'sam', 'sat' );
// -> 1
hamming( 'summer', 'samuel' );
// -> 3
hamming( 'saturn', 'urn' );
// -> throws error
    Parameters
| Name | Type | Description | 
|---|---|---|
| str1 | string | first string.  | 
        
| str2 | string | second string.  | 
        
Returns
hamming distance between str1 and str2.
- Type
 - number
 
hammingNormalized
Computes the normalized hamming distance between two strings. These strings may be of different lengths. Normalized distance is always between 0 and 1.
Example
hammingNormalized( 'john', 'johny' );
// ->  0.2
hammingNormalized( 'sam', 'sam' );
// -> 0
hammingNormalized( 'sam', 'samuel' );
// -> 0.5
hammingNormalized( 'saturn', 'urn' );
// -> 1
    Parameters
| Name | Type | Description | 
|---|---|---|
| str1 | string | first string.  | 
        
| str2 | string | second string.  | 
        
Returns
normalized hamming distance between str1 and str2.
- Type
 - number
 
jaro
Computes the jaro distance between two strings. This distance is always between 0 and 1.
Example
jaro( 'father', 'farther' );
// ->  0.04761904761904756
jaro( 'abcdef', 'fedcba' );
// -> 0.6111111111111112
jaro( 'sat', 'urn' );
// -> 1
    Parameters
| Name | Type | Description | 
|---|---|---|
| str1 | string | first string.  | 
        
| str2 | string | second string.  | 
        
Returns
jaro distance between str1 and str2.
- Type
 - number
 
jaroWinkler
Computes the jaro winkler distance between two strings. This distance,
controlled by the scalingFactor, is always between 0 and 1.
Example
jaroWinkler( 'martha', 'marhta' );
// ->  0.03888888888888883
jaroWinkler( 'martha', 'marhta', 0.3, 0.2 );
// -> 0.022222222222222185
jaroWinkler( 'duane', 'dwayne' );
// -> .15999999999999992
    Parameters
| Name | Type | Attributes | Default | Description | 
|---|---|---|---|---|
| str1 | string | first string.  | 
        ||
| str2 | string | second string.  | 
        ||
| boostThreshold | number | 
                
                    <optional> | 
            
            
                0.3 | beyond which scaling is applied: it is applied only if the jaro distance between the input strings is less than or equal to this value. Any value > 1, is capped at 1 automatically.  | 
        
| scalingFactor | number | 
                
                    <optional> | 
            
            
                0.1 | is used to scale the distance.
Such scaling, if applied, is proportional to the number of shared
consecutive characters from the first character of   | 
        
Returns
jaro winkler distance between str1 and str2.
- Type
 - number
 
levenshtein
Computes the levenshtein distance between two strings. This distance is computed as the number of deletions, insertions, or substitutions required to transform a string to another. Levenshtein distance is always an integer with a value of 0 or more.
Example
levenshtein( 'example', 'sample' );
// ->  2
levenshtein( 'distance', 'difference' );
// -> 5
    Parameters
| Name | Type | Description | 
|---|---|---|
| str1 | string | first string.  | 
        
| str2 | string | second string.  | 
        
Returns
levenshtein distance between str1 and str2.
- Type
 - number
 
soundex
Computes the soundex distance between two strings. This distance is either 1 indicating phonetic similarity or 0 indicating no similarity.
Example
soundex( 'Burroughs', 'Burrows' );
// ->  0
soundex( 'Ekzampul', 'example' );
// -> 0
soundex( 'sat', 'urn' );
// -> 1
    Parameters
| Name | Type | Description | 
|---|---|---|
| str1 | string | first string.  | 
        
| str2 | string | second string.  | 
        
Returns
soundex distance between str1 and str2.
- Type
 - number