检查字符串是不是包含数组的任何元素[重复]

Posted

技术标签:

【中文标题】检查字符串是不是包含数组的任何元素[重复]【英文标题】:Check if a string contains any element of array [duplicate]检查字符串是否包含数组的任何元素[重复] 【发布时间】:2021-05-02 00:03:54 【问题描述】:

假设我有一个字符串:

const subject = "This process is flawless"

我有一个数组:

const matchArray = ["process","procedure","job"]

我希望如果主题包含 matchArray 中的任何关键字,

if (subject matches any keyword of matchArray )

console.log('true')

我的第一直觉是使用包含,但我不想将数组与字符串匹配,而是将字符串与数组匹配。

我仍在探索中,如果有人可以指导我,那将非常有帮助。

编辑:我找到了这个灵魂,但有没有比这个更好的解决方案

const subject = "This process is flawless"
const matchArray = ["process","procedure","job"]
const exists = matchArray.some(matchArray => subject.includes(matchArray))

if (exists) 
  console.log("Yes");
  // notify 

【问题讨论】:

【参考方案1】:

如果您想分别检查数组的每个索引是否存在,这是我的代码

const subject = "This process is flawless"
const matchArray = ["process","procedure","job"]
const subject_array=subject.split(" ");
console.log(subject_array);// split the string by space
// loop on matchArray matchArray
for(i=0;i<matchArray.length;i++)
const c_string=matchArray[i];
var check = subject.includes(c_string);
if(check==true)
 console.log(c_string,' is present');
    
  

Here is the out put

【讨论】:

【参考方案2】:

使用some()

const subject = "This process is flawless"
const matchArray = ["process", "procedure", "job"]

console.log(matchArray.some(i => subject.includes(i)))

【讨论】:

以上是关于检查字符串是不是包含数组的任何元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查字符串是不是包含数组中的任何元素[关闭]

检查数组中的所有元素是不是都是字符串[重复]

检查数组是不是包含字符串但忽略该字符串中的其他字母[重复]

Java - 如何检查字符串是不是包含字符串数组的元素?

mongodb:查询以检查数组中的项目是不是包含特定字符串[重复]

如何检查字符串是不是包含列表的任何元素并获取元素的值?