Строковые методы includes(), indexOf() и lastIndexOf() в JS
Методы includes(), indexOf() и lastIndexOf() существуют в JavaScript для работы со строками. Рассмотрим на примерах каждый из них, что они делают и чем отличаются от от друга .
Пример использования includes()
Строковый метод includes() проверяет, содержит ли строка заданную подстроку, и возвращает true или false в зависимости от того нашли ли они что-нибудь в строке или нет. На этом уроке мы рассмотрим как работает метод string.prototype.includes().
Создадим переменную str и присвоим ей строку - короткое предложение заключенное в одинарные кавычки. Сделаем проверку, есть ли в этой строке слово "ходила". Пишем запрос прямо в console.log. Обращаемся к переменной str, указываем сам метод поиска includes() и передаем в аргументах слово, которое мы ищем 'ходила'. Если строка содержит это слово, то мы получим true.
let str = 'По улице ходила большая крокодила.';
console.log(str.includes('ходила')); // true
Метод includes() чувствителен к регистру символов. Если написать тоже самое слово с большой буквы, то выражение вернет false.
console.log(str.includes('Ходила')); // false
При попытке найти отсутсвующее слово в строке, метод вернет конечно же false.
console.log(str.includes('маленькая')); // false
Пользоваться методом includes() для поиска слов в строке неудобно из-за чувствительности к регистру. Зато хорошо проверять есть ли какие-нибудь вхождения внутри строк. Этот метод может принимать два аргумента: искомую подстроку и позицию (index), с которой нужно начинать поиск.
str.includes(searchString[, position])
У каждого элемента в строке есть свой индекс (порядковый номер в строке), отсчет которого ведется с нуля. Я говорю, найди мне слово "улице", начиная со 2-го индекса и он находит.
let str = 'По улице ходила большая крокодила.';
console.log(str.includes('улице', 2)); // true
Но начиная с четвертого индекса, это слово уже не будет найдено.
let str = 'По улице ходила большая крокодила.';
console.log(str.includes('улице', 4)); // false
Пример использования indexOf()
Метод indexOf() возвращает индекс искомой подстроки в строке. Например у нас есть строка в переменной a, в которой нужно найти индекс (позицию в строке) заданной подстроки "работа". Присвоим переменной b выражение с вычислением методом indexOf() начала позиции подстроки "работа". Затем выведем в консоль переменную b и получаем результат, что слово "работа" начинается с 10-ой позиции. Определение индекса, часто используемое действие в программировании.
let a = 'Удаленная работа - это новая реальность.';
let b = a.indexOf('работа');
console.log(b); // 10
Передадим вторым аргументом в indexOf() номер позиции 20, с которой следует искать слово "работа". Поскольку с 20-ой позиции нет этого слова, то метод indexOf() возвращает -1, так как не находит заданную подстроку для поиска. Обратите внимание, что includes() в этом случае возвратил бы false. Метод includes() возвращает булевое значение, true или false. А метод indexOf возвращает index, в том числе и отрицательный.
let a = 'Удаленная работа - это новая реальность.';
let b = a.indexOf('работа', 20);
console.log(b); // -1
Пример использования lastIndexOf()
Метод lastIndexOf тоже возвращает индекс подстроки, но находит не первое вхождение, а последнее. Этот метод также может принимать два аргумента (подстрока, позиция). В примере ниже, lastIndexOf нашел не первое слово "работа", а последнее на 29-ой позиции.
let a = 'Удаленная работа - это новая работа.';
let b = a.lastIndexOf('работа');
console.log(b); // 29
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.