计算每个单词出现的次数

时间:2014-12-17 17:45:10

标签: javascript count words

如何计算用户介绍的文字中每个单词出现的次数?我现在有这个:

function print() {
    text1 = texto.value;                                                     
    var sim = /\s+/gi;                                                      
    var word= texto.value.trim().replace(sim, ' ').split(' ').length;   
    var space= texto.value.split(" ").length - 1;                          
    alert("Number of spaces: " + (space) + "\nNumber of words: " + (word));
    document.getElementById("show").innerHTML = text.value;
}

countWords(document.getElementById("IDTextAreal").value());

如果用户引入字符串“Hello my name is Hello”,则脚本显示:

Hello: 2, my: 1, name: 1, is: 1.

2 个答案:

答案 0 :(得分:1)

你想制作一个二维数组。第一个维度将包含单词 - 第二个维度将包含计数。然后,当您遍历输入的单词时,您将检查它是否存在于您的数组中。如果是,则将第二维增加一。如果没有,您将[word] [1]推送到您的阵列。接下来,您可以遍历数组以获取单词及其各自的计数以供显示。

答案 1 :(得分:0)

在inspect元素中,查看控制台区域中的结果

 $(function() {
            var str = "Hello my name is Hello";
            var strArray = str.split(" ");
            var result = new Array();
            for (i = 0; i < strArray.length; i++) {
                var re = new RegExp(strArray[i], 'g');
                var n = str.match(re).length;
                result[strArray[i]] = n;
            }
            console.log(result);
        });