javascript - 显示文本区域中重复的单词数

标签 javascript dom textarea repeat

我用这个提取字数:

var sim = /\s+/gi;                                                     

var words= parag.value.trim().replace(sim, ' ').split(' ').length;

我想显示重复的单词,我该怎么做?

最佳答案

以下代码片段将为您提供文本中重复单词的数组:

var text = "this is this and that was that";
var frequency = text.split(' ').reduce(function(previous, current) {
    if (!previous.hasOwnProperty(current)) {
        previous[current] = 0;
    }
    previous[current] += 1;
    return previous;
}, {});

var repeatedWords = Object.keys(frequency).filter(function(element) {
    return frequency[element] > 1;
});

console.log(repeatedWords);
// => ["this", "that"]
  1. 将文本拆分为标记。
  2. 将数组缩减为对象。
  3. 初始化一个空对象。
  4. 如果 token 不存在,则将其设置为 0。
  5. 将 token 计数增加 1。
  6. 检查每个标记。
  7. 过滤计数大于 1 的 token 。

关于javascript - 显示文本区域中重复的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27076588/

相关文章:

javascript - 如何从 html 中卸载 javascript?

angular - 等价于 getElementsByTagName 的 Angular

javascript - 使用 Backbone 上传文件

javascript - 导航到 Javascript 对象中的上一个和下一个项目

javascript - .test() 的正则表达式漏报

dom - 如何访问与 D3 SVG 对象相关的 DOM 元素?

javascript - 如何使用 DOM Maniplunation 附加 mathJax 段落?

textarea的javascript内部文本不会重置重新加载页面

javascript - 如何在文本区域中的行之间绘制分隔符

javascript - 选择的插件更改在页面重新加载时不起作用