Как проверить, содержит ли строка подстроку? [Дубликат]

На основании ответа @ YOU, но сохраняя порядок:

var arr3 = [];
for(var i in arr1){
   var shared = false;
   for (var j in arr2)
       if (arr2[j].name == arr1[i].name) {
           arr3.push(arr1[j]
           shared = true;
           break;
       }
   if(!shared) arr3.push(arr1[i])
}

for(var j in arr2){
   var shared = false;
   for (var i in arr1)
       if (arr2[j].name == arr1[i].name) {
           shared = true;
           break;
       }
   if(!shared) arr3.push(arr2[j])
}
arr3

Я знаю, что это решение менее эффективно, но оно необходимо, если вы хотите сохранить порядок и все еще обновлять объекты.

942
задан cнŝdk 2 October 2018 в 14:09
поделиться

2 ответа

Вот так:

if (str.indexOf("Yes") >= 0)

... или вы можете использовать оператор тильды:

if (~str.indexOf("Yes"))

Это работает, потому что indexOf () возвращает -1 , если строка вообще не найдена.

Обратите внимание, что здесь учитывается регистр.
Если вам нужен поиск без учета регистра, вы можете написать

if (str.toLowerCase().indexOf("yes") >= 0)

Или,

if (/yes/i.test(str))
2085
ответ дан 19 December 2019 в 20:21
поделиться

Вы можете использовать search или match для этого .

str.search ('Yes')

вернет позицию совпадения или -1, если оно не найдено.

118
ответ дан 19 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: