繁体   English   中英

如何检查字符串是否包含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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM