Строковые методы includes(), indexOf() и lastIndexOf() в JS

Строковые методы 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

Источник

Просмотров:

Добавить комментарий

Adblock
detector