2012-11-02 2 views
1

으로 측정하는 예를 들어 배열 로 Levenshtein 거리를 사용할 수있는 방법 내가 여러 텍스트Levenshtein 거리 배열

<div>one,two,three,longtext,anything</div> 

와 사업부 및 입력

<input type="text"> // sometext 

어떤 메신저에 노력을 가지고 있는가 do는 입력에서 텍스트와 쉼표로 구분 된 각각을 측정합니다. jquery .split() 시도했지만 정의되지 않은 또는 뭔가 잘못된 일을 거기에 나타납니다.

+1

을 [

예를 들어, 함수 levenshtein는 두 개의 인수를 자신의 levenshtein의 disttance, 당신은 다음과 같은 코드를 사용할 수 있습니다 반환 제공 wiki 기사] (http://en.wikipedia.org/wiki/Levenshtein_distance)에는 수식이 있습니다. 너 자신을 변환 할 수 있습니까? 또는 div에서 각 단어를 배열로 가져 오는 데 문제가 있습니까? – Shmiddty

+0

ive이 div에서 한 단어로 완료하도록 관리하고 있지만 여러 단어를 가져 오는 데 문제가 있습니다. div는 쉼표로 구분되며 각 항목은 입력 양식의 값과 단독으로 비교되어야합니다. –

+1

http://jsfiddle.net/Shmiddty/xEyZH/나는 거리를 콘솔에 버리고있다. – Shmiddty

답변

2

모든 것에 대해 jQuery가 필요하지 않습니다. s.split(",") 네이티브를 사용하여 문자열을 분할 할 수 있습니다. 여기서 s은 분리 할 문자열입니다.

HTML :

<div id="mydiv">one,two,three,longtext,anything</div> 
<input id="comparison" type="text"> 

JS :

var arr = $('#mydiv').html().split(","); 
for(var i = 0;i < arr.length; i++){ 
    console.log("distance " + arr[i] + " to " $('#comparison').val() + ":" + levenshtein(arr[i], $('#comparison').val()); 
} 
+0

아래의 결과가 이미 작동하지 않는 것을 확인했습니다. –

+0

당신은'jQuery.split'을 시도했다는 말을하셨습니다. 존재한다면 다른 것입니다. 위의 코드를 시도하면 어떻게됩니까? –

+0

@ErindDollaku "Not working (작동하지 않음)"은 무엇이 잘못되었는지에 대한 어떤 힌트도 제공하지 않습니다. 너는 무엇을 기대하니? 너는 실제로 무엇을 보느냐? – Shmiddty