如何实现 javascript 函数来计算给定句子中每个单词的频率。
这是我的代码:
function search () {
var data = document.getElementById('txt').value;
var temp = data;
var words = new Array();
words = temp.split(" ");
var uniqueWords = new Array();
var count = new Array();
for (var i = 0; i < words.length; i++) {
//var count=0;
var f = 0;
for (j = 0; j < uniqueWords.length; j++) {
if (words[i] == uniqueWords[j]) {
count[j] = count[j] + 1;
//uniqueWords[j]=words[i];
f = 1;
}
}
if (f == 0) {
count[i] = 1;
uniqueWords[i] = words[i];
}
console.log("count of " + uniqueWords[i] + " - " + count[i]);
}
}
我无法找出问题所在。非常感谢任何帮助。以这种格式输出:count of is - 1 count of the - 2..
输入:这是 anil 是 kum the anil
原文由 Anil 发布,翻译遵循 CC BY-SA 4.0 许可协议
我觉得你有多个数组、字符串,并在循环和嵌套循环之间频繁(且难以遵循)上下文切换,这让事情变得过于复杂。
以下是我鼓励您考虑采用的方法。我已经内联注释来解释整个过程中的每个步骤。如果有任何不清楚的地方,请在评论中告诉我,我会重新审视以提高清晰度。