有沒有人知道一個簡單的方法來計算Javascript字符串中單詞的出現次數,而沒有預定義的單詞列表可用?理想情況下,我希望它輸出到關聯數組(Word,Count)。計算字符串中單詞的出現率Javascript
例如沿「你好你怎麼樣你好」行輸入將輸出的東西沿着線: - 「你好」:2 「如何」:1 「是」:1 「你」 :1
任何幫助,非常感謝。
感謝,
有沒有人知道一個簡單的方法來計算Javascript字符串中單詞的出現次數,而沒有預定義的單詞列表可用?理想情況下,我希望它輸出到關聯數組(Word,Count)。計算字符串中單詞的出現率Javascript
例如沿「你好你怎麼樣你好」行輸入將輸出的東西沿着線: - 「你好」:2 「如何」:1 「是」:1 「你」 :1
任何幫助,非常感謝。
感謝,
var counts = myString.replace/[^\w\s]/g, "").split(/\s+/).reduce(function(map, word){
map[word] = (map[word]||0)+1;
return map;
}, Object.create(null));
對於一個簡單的字符串,這應該足夠了:
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]]++;
}
}
如果你想,雖然處理句子,你需要做的標點符號等的某些操作(所以,全部更換與空間)
謝謝,這太棒了。正如其他人所建議的,這不是作業,而是我正在進行的一個項目。再次感謝。 – user1840255 2013-02-16 19:19:16
你不應該檢查值是未定義的,但測試'split [x] obj' – Bergi 2013-02-16 19:22:30
你試過什麼?什麼地方出了錯? – 2013-02-16 19:12:37
這不是一個完成作業的地方。參考教程並學習JavaScript。如果你被困在代碼中,請在這裏詢問 – asifsid88 2013-02-16 19:12:50