![](/img/trans.png)
[英]Check if an array of strings contains a substring of a given string in javascript?
[英]how to check if a string contains a substring from an array of strings in JavaScript
我仍在学习JavaScript,但似乎找不到找到字符串是否包含子字符串的方法。
基本上,我有一些个人的标题,我想看看标题中是否包含诸如“ President”或“ Sr”之类的字符串,这是我到目前为止所能使用的,但似乎无法正常工作。
var title = "President of Sales";
var arrayOfTitles = ["President","Chief","VP","SVP","Director","Manager","Mrg","Sr","Senior","Executive Assistant","Principle Architect","GM","Technical Advisor"];
var re = new RegExp(arrayOfTitles.join("|"),"i");
for(i = 0; i < arrayOfTitles.length; i++){
if ( re.test(gr.title)){
return;
}
}
但是,此代码不适用于“ Jr VP”或“ President of Sales”之类的String。 有没有办法建立这些字符串的正则表达式数组?
任何帮助将非常感谢
您不需要运行循环
var title = "President of Sales"; var arrayOfTitles = ["President","Chief","VP","SVP","Director","Manager","Mrg","Sr","Senior","Executive Assistant","Principle Architect","GM","Technical Advisor"]; var regex = new RegExp(arrayOfTitles.join("|"), "i"); //The regex will return true if found in the array if ( regex.test(title) ){ console.log("has"); }
简单的东西怎么样:
var title = "President of Sales"; var arrayOfTitles = ["President","Chief","VP","SVP","Director","Manager","Mrg","Sr","Senior","Executive Assistant","Principle Architect","GM","Technical Advisor"]; var matches = (function() { for(var i=0; i < arrayOfTitles.length; i++) { if(title.indexOf(arrayOfTitles[i]) > -1) { return true; } } return false; }());
您也可以使用include()函数代替indexOf()。
var title = "President of Sales";
var arrayOfTitles = ["President","Chief","VP","SVP","Director","Manager","Mrg","Sr","Senior","Executive Assistant","Principle Architect","GM","Technical Advisor"];
var matches = (function() {
for(var i=0; i < arrayOfTitles.length; i++) {
if(title.includes(arrayOfTitles[i])) { return true; }
}
return false;
}());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.