Метод indexOf в JavaScript
Метод indexOf
осуществляет поиск подстроки (указывается первым параметром) в строке. Метод вернет позицию первого совпадения, а если оно не найдено, то вернет -1
. Вторым параметром (он необязателен) можно передать номер символа, откуда следует начинать поиск. Метод чувствителен к регистру символов.
Синтаксис
строка.indexOf(что ищем, [откуда начинать поиск])
Пример
В данном примере в строке Я учу учу Javascript
ищется слово учу
. Метод вернет 2
(с этой позиции начинается первое слово учу
в строке):
let str = 'Я учу учу Javascript';
console.log(str.indexOf('учу')); // 2
Пример
В данном примере в строке Я учу учу Javascript
также ищется слово учу
, однако поиск начинается с 5-той позиции (я указал это вторым параметром). Метод вернет 6
(с этой позиции начинается второе слово учу
в строке):
let str = 'Я учу учу Javascript';
console.log(str.indexOf('учу', 5)); // 6
Пример
В данном примере метод вернет -1
, так как подстроки PHP
в строке Я учу Javascript
нету:
let str = 'Я учу Javascript';
console.log(str.indexOf('PHP', 5)); // -1
Пример
В данном примере метод вернет -1
, так как он чувствителен к регистру (Javascript не равно JaVaScrIpt):
let str = 'Я учу Javascript';
console.log(str.indexOf('JaVaScrIpt')); // -1
Пример
В данном примере метод вернет -1
, так как после выбранной позиции совпадения отсутствуют:
let str = 'Я учу Javascript';
console.log(str.indexOf('учу', 8)); // -1