2013-02-16 1 views
-1

미리 정의 된 단어 목록을 사용할 수 없으면 자바 스크립트 문자열에서 단어의 출현을 계산하는 간단한 방법을 알고있는 사람이 있습니까? 이상적으로는 연관 배열 (Word, Count)으로 출력하고 싶습니다. 문자열에있는 단어의 출현을 카운트 자바 스크립트

예를 들어 "안녕하세요 안녕하세요을하는 방법이다"의 라인을 따라 입력 것의 라인을 따라 출력 뭔가 : - "안녕하세요": 2 "어떻게": 1 "있습니다": 1 "당신" : 1

도움을 주시면 대단히 감사하겠습니다.

감사합니다,

+0

그리고 너 봤어? 무엇이 잘못 되었습니까? –

+2

이것은 숙제를 끝내기위한 곳이 아닙니다. 자습서를 참조하고 JavaScript를 배우십시오. 코드에 갇혀 있다면 여기로 문의하십시오 – asifsid88

답변

3
var counts = myString.replace/[^\w\s]/g, "").split(/\s+/).reduce(function(map, word){ 
    map[word] = (map[word]||0)+1; 
    return map; 
}, Object.create(null)); 
2

간단한 문자열을 위해이 충분해야 : 당신이 비록 문장을 처리 할 경우, 문장 부호 등의 일부 처리를 수행해야합니다

str = "hello hello hello this is a list of different words that it is"; 

var split = str.split(" "), 
    obj = {}; 

for (var x=0; x<split.length; x++){ 
    if(obj[split[x]]===undefined){ 
    obj[split[x]]=1; 
    }else{ 
    obj[split[x]]++; 
    } 
} 

(그래서, 모든 교체 !?. 공백 있음)

+0

감사합니다. 훌륭합니다. 누군가 다른 사람이 제안한 것처럼 이것은 숙제가 아니라 프로젝트에 대한 것이 었습니다. 다시 한번 감사드립니다. – user1840255

+0

값이 정의되지 않았는지 확인하지 말고,'split [x] in obj'를 테스트해야합니다. – Bergi