我有以下字符串:
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;
}
}
以上几行似乎太复杂了我想做的事情......
答案 0 :(得分:4)
您可以使用Array#some
,并缩短时间,使用箭头功能和String#includes
代替String#indexOf
:
if(listofstrings.some(str => teststring.includes(str))) {
// found one
}