【问题标题】:How to display a list of number of words of each length - Javascript如何显示每个长度的单词数列表 - Javascript
【发布时间】:2017-08-05 13:39:13
【问题描述】:

嗨,伙计们,我真的陷入了这种情况:S 我有一个带有随机句子的本地 .txt 文件,我的程序旨在:

我发现很难执行第三个问题。我的代码是..

JavaScript

      lengths.forEach((leng) => {
      counter[leng] = counter[leng] || 0;
      counter[leng]++;

});     
      $("#display_File_most").text(counter);

     }


    }          
        r.readAsText(f);
    }
});

  </script> 

我用这个问题寻求帮助,但没有运气 - Using Javascript to find most common words in string?

我相信我必须将句子存储在一个数组中并循环遍历它,不确定这是否是正确的步骤,或者是否有更快的方法找到解决方案,所以我问你们。

感谢您的宝贵时间,我希望我的问题是有道理的 :)

【问题讨论】:

    标签: text-files


    【解决方案1】:

    如果您认为您的解决方案是分开的、做得好的任务,那么找到它真的很简单。在这里你可以把它们放在一起:

    1. 将单词转换为数组。你的胆量是对的:)

      var source = "Hello world & good morning. The date is 18/09/2018";
      var words = source.split(' ');
      
    2. 下一步是找出每个单词的长度

      var lengths = words.map(function(word) { 
        return word.length; 
      });
      
    3. 最后最复杂的部分是获取每个长度的出现次数。一种想法是使用一个对象来使用键/值,其中键是长度,值是它的计数(来源:https://stackoverflow.com/a/10541220/1505348

    现在您将看到counter 对象下的每个字长及其在源字符串上的重复数。

    var source = "Hello world & good morning. The date is 18/09/2018";
    var words = source.split(' ');
    
    var lengths = words.map(function(word) { 
      return word.length; 
    });
    
    var counter = {};
    lengths.forEach((leng) => {
      counter[leng] = counter[leng] || 0;
      counter[leng]++;
    });
    
    console.log(counter);

    【讨论】:

    • 嗨 Lucio,很棒的工作,一切似乎都在工作(单词长度)只是在显示它时遇到了问题 - [object Object] 我的代码已更新以反映这一点......抱歉如果这是一个愚蠢的问题.. 我在哪里有点晚了 Zzz
    • @Sam 您可以使用arr.toString()arr.join(', ')JSON.stringify(arr)(最后一个已包含大括号[])。
    【解决方案2】:

    3.生成句子中每个长度的单词数量列表(未完成)。

    基于这个问题,这不是解决方案吗?

    var words = str.split(" ");
    var count = {};
    
    for (var i = 0; i<words.length; i++){
     count[words[i].length] = (count [words[i].length] || 0) + 1
    }
    

    【讨论】:

    • 很好的答案,但我认为应该是count = [](尽管{} 也可以)。你想创建一个数组而不是一个对象,你使用索引而不是字符串访问。
    • 确实如此。我最初认为单词是关键。但这更简单。
    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 2013-01-16
    • 2020-12-15
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多