UNPKG

talisman

Version:

Straightforward fuzzy matching, information retrieval and NLP building blocks for JavaScript.

45 lines (38 loc) 838 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.similarity = similarity; exports.distance = distance; /** * Talisman metrics/length * ======================== * * Length distance/similarity. Basically just the ratio of the shorter length * over the longer length. * * [Tags]: metric, string metric. */ /** * Length similarity. * * @param {array|string} a - First sequence. * @param {array|string} b - Second sequence. */ function similarity(a, b) { if (a === b) return 1; var la = a.length, lb = b.length; if (!la || !lb) return 0; if (la < lb) return la / lb; return lb / la; } /** * Length distance. * * @param {array|string} a - First sequence. * @param {array|string} b - Second sequence. */ function distance(a, b) { return 1 - similarity(a, b); }