我有以下字符串:
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
}