有没有人知道一种简单的方法来计算 Javascript 字符串中某个单词的出现次数,而无需预定义的可用单词列表?理想情况下,我希望它输出到关联数组(字,计数)中。
例如,“Hello how are you Hello”这样的输入会输出如下内容:- “Hello”:2 “how”:1 “are”:1 “you”:1
任何帮助是极大的赞赏。
谢谢,
有没有人知道一种简单的方法来计算 Javascript 字符串中某个单词的出现次数,而无需预定义的可用单词列表?理想情况下,我希望它输出到关联数组(字,计数)中。
例如,“Hello how are you Hello”这样的输入会输出如下内容:- “Hello”:2 “how”:1 “are”:1 “you”:1
任何帮助是极大的赞赏。
谢谢,
对于一个简单的字符串,这应该足够了:
var str = "hello hello hello this is a list of different words that it is",
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]]++;
}
}
console.log(obj)
但是,如果您想处理句子,则需要对标点符号等进行一些处理(因此,将所有 !?. 替换为空格)
var counts = myString.replace/[^\w\s]/g, "").split(/\s+/).reduce(function(map, word){
map[word] = (map[word]||0)+1;
return map;
}, Object.create(null));