我有以下字符串:

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;
    }
}


上面占用多行似乎对于我想要做的事情来说太复杂了...

最佳答案

您可以使用Array#some,并使用箭头功能和String#includes代替String#indexOf来简化内容:

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

09-25 19:22