javascript - 搜索多个用户的输入并显示其中最常用的词

标签 javascript html css

你好(Javascript 的新手),我有一个简单的程序,它显示一个提示弹出窗口,要求来自几个不同的访问用户的输入。

例如:<script type="text/javascript> var spectrum = prompt:", ""); </script>

看..非常简单的代码吧,哈哈(我是新人)

我正在尝试找出一个代码来搜索用户的输入以显示最常用的词。

有没有我可以编写的程序,它会选择最常见的单词和 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/

关于javascript - 搜索多个用户的输入并显示其中最常用的词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481834/

相关文章:

javascript - 休息参数是否允许优化?

javascript - 嵌套函数 (Javascript)

javascript - 在 CSS 中访问 JavaScript 变量

html - 浏览器对带有 CSS 查询(如方向)的链接标记上的媒体属性的支持是什么?

javascript - Javascript 中字符串替换为正则表达式十进制验证失败

javascript - 如何防止 componentWillUpdate 导致无限循环?

javascript - 将另一个元素内容替换为悬停元素内容

html - CSS table-cell 忽略宽度,即使 table-fixed

javascript - 如何在不使用 !important 的情况下覆盖 primefaces 组件内联样式?

javascript - 为了继续使用 Tensorflow.js 进行预测,在 Vue.js 实例中有一个无限循环是错误的吗?