mask2012 / MaskBlog

all blogs are in issues.
12 stars 5 forks source link

从字符串里查找是否存在多个子字符串中的一个 #81

Open mask2012 opened 5 years ago

mask2012 commented 5 years ago

比如我有一个pathName = location.pathname 现在要判断pathName是否包含了某个字符串,而包含又不是一个,而是多个,正常的写法是这样的

if ( pathName.indexOf("similarK") > -1 || pathName.indexOf("findRankSimuTrend") > -1 || pathName.indexOf("intelligentDiagnosis") > -1 ) { ... }

代码会很长很臃肿,所以想了个简单的写法

if ( pathName.isHave(['similarK','findRankSimuTrend','intelligentDiagnosis'])) { ... }

实际上就是给string的原型上增加了一个方法isHave,接受一个数组。

String.prototype.isHave = function(distArr){
    var isFound=false;
    for (var i = 0; i < distArr.length; i++) {
        if((this+'').indexOf(distArr[i])>-1){
            isFound=true;
            break;
        }
    }
    return isFound;
}