检查一个字符串数组是否包含javascript中给定字符串的子字符串?

时间:2018-05-06 16:12:33

标签: javascript

我有以下字符串:

var teststring = "Hello"

我有以下字符串数组:

var listofstrings = ["Hellothere", "Welcome", "Helloworld", "Some String"];

我希望有一个条件,一个简单的检查,如果'listofstrings'中的任何东西匹配'teststring'的任何部分。以下是伪代码:

if(teststring.indexOf(any-part-of-listofstrings) > -1)

我怎样才能做到这一点?我能想到的最简单的方法是循环它,但我想看看是否有更好的方法。

通过循环,我的意思是多行,如:

for(var i = 0; i < listofstrings.length; i++) {
    if(teststring.indexOf(listofstrings[i] > -1) {
        return true;
    }
}

以上几行似乎太复杂了我想做的事情......

1 个答案:

答案 0 :(得分:4)

您可以使用Array#some,并缩短时间,使用箭头功能和String#includes代替String#indexOf

if(listofstrings.some(str => teststring.includes(str))) {
    // found one
}