2014-04-16 2 views
1

HTML :이 간단한 카운터가 추가 단어를 계산하는 이유는 무엇입니까?

enter image description here

내가 뭘 다음

"1 2 3 4"

I을 : 출력

var words = $("#input-content > p").map(function() { 
    return $.text(this); 
}).get().join(" "); 

왜 doi인지 이해하지 못한다. NG : 만 4 단어가있어

words.split(" ").length 

출력 5.

왜 그럴까요? 그것을 고치는 방법?

+0

아마도 문자열에 4 개의 공백이 있기 때문일 수 있습니다. – adeneo

+2

간단히'trim()'이 트릭을 할 수 있다고 생각합니다 :'word.trim(). split ('')'. – Sirko

+1

단어를 집계하려면 'var words = s.match (/ [\ w -] +/g)'와 같이 단어와 일치하는 정규식을 고려하십시오. 그렇다면 공백을 걱정하지 않아도됩니다. – RobG

답변

4

문자열 "one two three four "에는 결과 배열의 끝에 여분의 빈 문자열이 하나 추가됩니다 (예 : ["one", "two", "three", "four", ""]).

문제를 해결하려면 jQuery에서 $.trim()과 같은 트리밍 기능을 사용하는 것이 좋습니다.

관련 문제