--- title: Jaro distance id: 5a23c84252665b21eecc7ec2 challengeType: 5 videoUrl: '' localeTitle: Distância Jaro --- ## Description
A distância Jaro é uma medida de similaridade entre duas seqüências. Quanto maior a distância Jaro para duas strings, mais similares são as strings. A pontuação é normalizada de tal forma que 0 equivale a nenhuma semelhança e 1 é uma correspondência exata. Definição A distância Jaro \ (d_j \) de duas strings dadas \ (s_1 \) e \ (s_2 \) é \ begin {align} d_j = \ begin {casos} 0 & & \ text {if} m = 0 \\\ \ {\ frac {1} {3}} \ left ({\ frac {m} {| s_ {1} |}} + {\ frac {m} {| s_ {2} |}} + {\ frac { mt} {m}} \ right) & & \ text {caso contrário} \ end {cases} \ end {align} Onde: Dois caracteres de \ (s_1 \) e \ (s_2 \), respectivamente, são considerados correspondentes somente se forem iguais e não mais que \ (\ left \ lfloor \ frac {\ max (| s_1 |, | s_2 |)} {2} \ right \ rfloor-1 \). Cada caractere de \ (s_1 \) é comparado com todos os caracteres correspondentes em \ (s_2 \). O número de caracteres correspondentes (mas de ordem de seqüência diferente) dividido por 2 define o número de transposições . Exemplo Dadas as strings \ (s_1 \) DWAYNE e \ (s_2 \) DUANE encontramos: Encontramos uma pontuação Jaro de: \ (d_j = \ frac {1} {3} \ left (\ frac {4} {6} + \ frac {4} {5} + \ frac {4-0} {4} \ right) = 0,822 \). Escreva uma função a que use duas strings como parâmetros e retorne a distância Jaro associada.
## Instructions
## Tests
```yml tests: - text: jaro deveria ser uma função. testString: 'assert(typeof jaro=="function","jaro should be a function.");' - text: 'jaro(""+tests[0][0]+"",""+tests[0][1]+"") deve retornar um número.' testString: 'assert(typeof jaro(tests[0][0],tests[0][1])=="number","jaro() should return a number.");' - text: 'jaro(""+tests[0][0]+"",""+tests[0][1]+"") deve retornar "+results[0]+" .' testString: 'assert.equal(jaro(tests[0][0],tests[0][1]),results[0],"jaro(""+tests[0][0]+"",""+tests[0][1]+"") should return "+results[0]+".");' - text: 'jaro(""+tests[1][0]+"",""+tests[1][1]+"") deve retornar "+results[1]+" .' testString: 'assert.equal(jaro(tests[1][0],tests[1][1]),results[1],"jaro(""+tests[1][0]+"",""+tests[1][1]+"") should return "+results[1]+".");' - text: 'jaro(""+tests[2][0]+"",""+tests[2][1]+"") deve retornar "+results[2]+" .' testString: 'assert.equal(jaro(tests[2][0],tests[2][1]),results[2],"jaro(""+tests[2][0]+"",""+tests[2][1]+"") should return "+results[2]+".");' - text: 'jaro(""+tests[3][0]+"",""+tests[3][1]+"") devem retornar "+results[3]+" .' testString: 'assert.equal(jaro(tests[3][0],tests[3][1]),results[3],"jaro(""+tests[3][0]+"",""+tests[3][1]+"") should return "+results[3]+".");' - text: 'jaro(""+tests[4][0]+"",""+tests[4][1]+"") deve retornar "+results[4]+" .' testString: 'assert.equal(jaro(tests[4][0],tests[4][1]),results[4],"jaro(""+tests[4][0]+"",""+tests[4][1]+"") should return "+results[4]+".");' ```
## Challenge Seed
```js function jaro (s, t) { // Good luck! } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```