我已经写了一个基本函数来计算字符串中的词频。首先,我将字符串分成一个数组,然后通过循环遍历单词数组。也就是说,如果初始字符串为空(“”),我的函数将把“”作为一个单词,因此结果是{“”:1},而不是空对象。由于for循环,我最初认为空字符串根本不会注册。字数功能正在拾取“”作为可行单词吗?
我已经解决了这个问题,如果有条件的函数开始,但我想知道是否有更好的方法去解决它。
function countWords(str) {
if (str === "") {
return {};
}
var counts = {};
var wordArray = str.split(" ");
for (i=0;i < wordArray.length; i++) {
word = wordArray[i];
if (!counts[word]) {
counts[word] = 1;
} else {
counts[word] += 1;
}
}
return counts;
}
我的Ruby代码等价物不需要任何东西来拾取空字符串作为可行的单词目标,所以这让我有些困扰。
编辑:谢谢你所有的回应。我感谢所有的帮助。
我在这里没有看到问题。 – hobbs