javascript - 仅在 Javascript 中使用 string.includes() 时搜索整个单词

标签 javascript

我正在尝试使用 string.includes() 方法搜索字符串数组中是否存在字符串,如下所示

var theString = "clovers are the best";
var theArray = ["lovers", "loved", "clove", "love", "clovers"];
for (i = 0; i < theArray.length; i += 1) {
  if (theString.includes(theArray[i])) {
    console.log(theArray[i]);
  }
}

除了预期的“clovers”之外,我得到的输出还包括“lovers”、“clove”和“love”。如何强制搜索只查找整个字符串?

最佳答案

您正在测试数组的每个元素以查看该元素是否存在于字符串中。您可以只测试数组以查看特定字符串是否是成员,这更接近您对问题的描述。

    var theString = "clovers";
    var theArray = ["lovers", "loved", "clove", "love", "clovers"];
    var idx = theArray.findIndex( e => e === theString );
    console.log(idx);
    // finding a string done two ways
    idx = theArray.indexOf( theString );
    console.log(idx);

如果idx不为-1,则字符串存在于数组中

关于javascript - 仅在 Javascript 中使用 string.includes() 时搜索整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711038/

相关文章:

Javascript innerhtml 不适用于 div

javascript - 使用 Javascript 正则表达式过滤掉特殊字符

javascript - 带有堆叠列的 Bootstrap 网格

javascript - 对象键变为字符串 "key"

当另一个交互发生时,Javascript 函数停止执行

javascript - 从自动完成搜索表单访问数据

javascript - 通过单击另一个 div 更改 div 中的数据

javascript - meteor 1.3 autoform/quickform 错误

javascript - 外行术语中的同源策略

javascript - ember 中的 helper 'andThen' 与传统的 'then' 有何不同