JavaScript предоставляет функцию includes() для поиска заданной строки по определенной подстроке. Существуют и другие методы для поиска в строковом массиве определенной строки.
Функция includes() обеспечивается строковой переменной или строковым литералом, чтобы найти заданный поисковый термин в заданной строке.
STRING.icludes(SEARCH_TERM,START);
Мы начнем с простого примера, где мы будем искать простой термин в данной строке. В этом примере мы создадим строковую переменную greeting и ищем «andreyex.ru» внутри переменной приветствия с помощью функции include().
var greeting="Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте."; var match = greeting.includes("andreyex.ru"); console.log(match); /Печатает true var match = "Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте.".includes("andreyex.ru"); console.log(match); /Печатает true var greeting="Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте."; var match = greeting.includes("ANDREYEX.RU"); console.log(match); //Печатает false
Поиск заданного термина во всей строке
include () – это функция без учета регистра, где «andreyex.ru» и «ANDREYEX.RU» не совпадают. Таким образом, они не будут совпадать в поиске.
Функция includes() также принимает индекс начала поиска, где поиск будет выполняться после этого индекса. В следующем примере мы будем искать термин «andreyex.ru» после 10-го символа.
var greeting="Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте."; var match = greeting.includes("andreyex.ru",10); console.log(match); // Вывести на консоль true var match = greeting.includes("andreyex.ru",30); console.log(match); // Вывести на консоль false
Поиск заданного термина в указанной части строки
Из примеров видно, что когда индекс указан как 10, данная строка будет соответствовать, а функция includes() вернет true. Если мы укажем индекс c 30, он не будет совпадать и вернет false.
Так как функция includes() возвращает логические значения, такие как true и false, мы можем сравнить эти результаты с числами, такими как 1 и -1, которые связаны с логической логикой в JavaScript. -1 представляет false и 1 представляет true.
"Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте.".includes("andreyex.ru"); //Evaluated as true 1 == "Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте.".includes("andreyex.ru"); //Evaluated as true 1 == "Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте.".includes("ANDREYEX.RU"); //Evaluated as false -11 == "Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте.".includes("ANDREYEX.RU"); //Evaluated as false -1 == "Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте.".includes("ANDREYEX.RU"); //Evaluated as false
Функция indexOf() является альтернативой функции includes(), в которой возвращается начальный номер данного термина. Если нет совпадения, будет возвращено -1 .
var greeting="Здравствуйте, вы на сайте andreyex.ru. Вы можете найти очень хорошие статьи на этом сайте."; index=greeting.indexOf("andreyex.ru"); console.log(index); //Вывод 17 index=greeting.indexOf("ANDREYEX.RU"); console.log(index); //Вывод -1