通过几个用户的输入进行搜索,并揭示其中最常见的单词
Search through the input of several users and reveals the most commons word among them
你好(全新的Javascript),我有一个简单的程序,显示一个提示框,要求几个不同的访问用户输入。
ex: <script type="text/javascript>
var spectrum = prompt:", "");
</script>
看到. .很简单的代码,对吧lol (im new)
我想写一段代码,可以搜索用户的输入,显示最常见的单词。
有没有程序可以让我选择最常见的单词和document.write it?
帮忙吗?
如果这个问题有多个答案也没关系,因为我现在被难住了,我想听听大家对这个问题的建议。
使用纯Javascript,假设你在网页上提示3次。每个提示符存储到一个数组中。
var prompts = [];
(function(){
for (var i=0; i<3; i++) {
prompts.push(prompt("What is your favorite color?"))
}
//...
}());
那么您将需要一个方法来遍历每个响应并确定所使用的"匹配"单词。
function collateWords () {
// join all the colors
var sWords = prompts.join(" ")
.toLowerCase().trim().replace(/[,;.]/g,'')
.split(/['s'/]+/g).sort();
var iWordsCount = sWords.length; // count w/ duplicates
var counts = {}; // object for math
for (var i=0; i<iWordsCount; i++) {
var sWord = sWords[i];
counts[sWord] = counts[sWord] || 0;
counts[sWord]++;
}
var arr = []; // an array of objects to return
for (sWord in counts) {
arr.push({
text: sWord,
frequency: counts[sWord]
});
}
// [sort array by descending frequency|http://stackoverflow.com/a/8837505]
return arr.sort(function(a,b){
return (a.frequency > b.frequency) ?
-1 : ((a.frequency < b.frequency) ? 1 : 0);
});
};
调用新方法并渲染到页面。
//...
var collected = collateWords();
var iWordsCount = collected.length; // count w/o duplicates
for (var i=0; i<iWordsCount; i++) {
var word = collected[i];
document.write(word.frequency + ", " + word.text);
}
//...
完整示例http://jsfiddle.net/jdgiotta/n26j5xf0/
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 拆分单词jquery
- 如何让程序检查所选单词中是否有按键
- 如何在悬停时流畅地更改单词
- EmberJS中支持单字母单词模型
- 字母计数:返回重复字母数最多的第一个单词
- 如何在Javascript中从字符串中提取某些单词
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 在javascript中查找单词
- 使用jQuery检查提交时添加到句子中的单词
- 如何在PHP中获取特定的字符串单词
- 停止较大单词的重叠
- 捕获所有常见类型的重定向、头、元、JavaScript等
- 通过几个用户的输入进行搜索,并揭示其中最常见的单词
- 突出显示javascript中两个数组中常见的单词
- JavaScript代码过滤掉字符串中的常见单词
- 查找两个字符串中常见的单词
- 查找两个字符串值中常见的单词