У меня есть следующая строка:
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
}