2013-02-16 93 views
-1

有沒有人知道一個簡單的方法來計算Javascript字符串中單詞的出現次數,而沒有預定義的單詞列表可用?理想情況下,我希望它輸出到關聯數組(Word,Count)。計算字符串中單詞的出現率Javascript

例如沿「你好你怎麼樣你好」行輸入將輸出的東西沿着線: - 「你好」:2 「如何」:1 「是」:1 「你」 :1

任何幫助,非常感謝。

感謝,

+0

你試過什麼?什麼地方出了錯? – 2013-02-16 19:12:37

+2

這不是一個完成作業的地方。參考教程並學習JavaScript。如果你被困在代碼中,請在這裏詢問 – asifsid88 2013-02-16 19:12:50

回答

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 2013-02-16 19:19:16

+0

你不應該檢查值是未定義的,但測試'split [x] obj' – Bergi 2013-02-16 19:22:30

相關問題