【问题标题】:How to check the number of times a word occurs in an array in Javascript [duplicate]如何在Javascript中检查一个单词在数组中出现的次数[重复]
【发布时间】:2017-10-24 12:55:27
【问题描述】:

所以基本上这就是说明。

编写一个程序,提示用户输入一个句子和一个单词。 程序应该检查句子中是否存在这个词,并让用户知道它是否存在。 现在看看你是否可以修改你的程序来计算单词在句子中出现的次数,然后通知用户总次数。

到目前为止,一切都很好,直到下一部分。我似乎无法找到一种方法来计算一个单词在句子中出现的次数。更具体地说,这部分现在看看你是否可以修改你的程序来计算单词在句子中出现的次数,然后通知用户总计数。

如果有一些可以提供帮助的循环或功能,我将不胜感激。我们学习 JavaScript 才一个月。

这是我目前的代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Lab 3.3</title>

    <script>
        "use strict";

        var sentence = prompt("Please enter a sentence");

        alert ("So this is your sentence?" + sentence);

        var word = prompt("Please enter a word");

        alert ("So this is your word?" + word);

        var sentenceArray = sentence.split;
        var wordArray = word.split;

        alert (sentence.includes(word))


    </script>
</head>
<body>

</body>

【问题讨论】:

  • 您可能正在寻找错误的解决方案,这是一个返回匹配数组的示例:w3schools.com/jsref/jsref_match.asp
  • vara _count =0;for(var i=0; i
  • 试试string.indexOf(searchvalue, start),它会给你第一个,然后再次检查是否出现在start之后

标签: javascript arrays function loops


【解决方案1】:

从单词创建一个正则表达式,带有标志i(不区分大小写)和g(全局 - 查找所有匹配项)。

使用 String#Match 和表达式来统计单词:

var sentence = 'All cats are felines, but not all felines are cats. I cannot stress that more - not all felines are cats';
var word = 'not';
var pattern = new RegExp('\\b' + word + '\\b', 'ig');
var count = (sentence.match(pattern) || []).length;

console.log(count);

【讨论】:

    猜你喜欢
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多