📅  最后修改于: 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`);
}
}
这段代码也将输出相同的结果。
总之,检查一个数组是否包含字符串中的单词并不是一件复杂的事情。我们可以使用多种方法来实现这个功能,具体取决于我们的编程习惯和所需的数据结构。