📌  相关文章
📜  检查数组是否包含字符串中的单词 (1)

📅  最后修改于: 2023-12-03 15:26:47.020000             🧑  作者: Mango

检查数组是否包含字符串中的单词

有时候我们需要检查一个数组中是否包含一个字符串中的单词。下面是一个简单的示例:

const words = ['hello', 'world', 'foo', 'bar'];
const str = 'Hello, this is a world of foo';

for (let i = 0; i < words.length; i++) {
  if (str.includes(words[i])) {
    console.log(`${words[i]} is in the string`);
  } else {
    console.log(`${words[i]} is not in the string`);
  }
}

以上代码将输出以下结果:

hello is in the string
world is in the string
foo is in the string
bar is not in the string

我们可以看到,这个示例遍历了数组中的每个单词,然后使用字符串的 includes 方法来检查该单词是否包含在给定的字符串中。如果单词存在于字符串中,则输出一个消息,否则输出另一个消息。

当然,我们还可以使用其他方法来实现同样的功能。例如,使用正则表达式:

const words = ['hello', 'world', 'foo', 'bar'];
const str = 'Hello, this is a world of foo';

for (let i = 0; i < words.length; i++) {
  const wordRegex = new RegExp(`\\b${words[i]}\\b`, 'i');

  if (str.match(wordRegex)) {
    console.log(`${words[i]} is in the string`);
  } else {
    console.log(`${words[i]} is not in the string`);
  }
}

以上代码将输出相同的结果。

无论使用哪种方法,重要的是要检查数组中的每个单词是否存在于字符串中。这样可以确保我们不会遗漏任何一个单词。

除此之外,我们也可以通过将字符串分割成单词数组,然后使用 includes 方法来检查单词是否存在于数组中来实现相同的功能。这种方法的代码如下:

const words = ['hello', 'world', 'foo', 'bar'];
const str = 'Hello, this is a world of foo';
const wordArray = str.split(' ');

for (let i = 0; i < words.length; i++) {
  if (wordArray.includes(words[i])) {
    console.log(`${words[i]} is in the string`);
  } else {
    console.log(`${words[i]} is not in the string`);
  }
}

这段代码也将输出相同的结果。

总之,检查一个数组是否包含字符串中的单词并不是一件复杂的事情。我们可以使用多种方法来实现这个功能,具体取决于我们的编程习惯和所需的数据结构。