Виталий Котов
Как работает метод indexOf() - JavaScript
Автор
Метод indexOf()
возвращает индекс первого вхождения данной подстроки в строке.
const message = "JavaScript is not Java";
// возврат индекса 'v' в первом вхождении 'va'
const index = message.indexOf("va");
console.log("index: " + index); // index: 2
Синтаксис indexOf()
Синтаксис метода indexOf()
следующий:
str.indexOf(searchValue, fromIndex);
Где str
- это строка.
Параметры indexOf()
Метод indexOf()
принимает:
searchValue
- значение для поиска в строке. Если строка не указана явно, будет искаться значение "undefined".
fromIndex
(необязательно) - индекс, с которого начинается поиск. По умолчанию он равен 0. Если fromIndex < 0, поиск начинается с индекса 0.
Возвращаемое значение indexOf()
- Возвращает первый индекс значения в строке, если оно присутствует хотя бы один раз.
- Возвращает -1, если значение не найдено в строке.
Примечание: метод
indexOf()
чувствителен к регистру.
Для пустой строки searchValue
и fromIndex
меньше длины строки, indexOf
возвращает значение, равное fromIndex
.
Аналогично, для пустой строки searchValue
и fromIndex
превышающей длину строки, indexOf
возвращает длину строки.
"Purpleschool JavaScript".indexOf("", 0); // возвращает 0
"Purpleschool JavaScript".indexOf("", 3); // возвращает 3
// длина строки здесь равна 20
"Purpleschool JavaScript".indexOf("", 25); // возвращает 20
"Purpleschool JavaScript".indexOf("", 21); // возвращает 20
Примеры
Пример 1: Использование метода indexOf()
var str = "JavaScript is the world's most misunderstood programming language.";
// indexOf() возвращает первое вхождение
var index1 = str.indexOf("language");
console.log(index1); // 57
var index2 = str.indexOf("p");
console.log(index2); // 8
// второй аргумент указывает начальный индекс поиска
var index3 = str.indexOf("p", 9);
console.log(index3); // 45
// indexOf возвращает -1, если ничего не найдено
var index4 = str.indexOf("Python");
console.log(index4); // -1
Вывод в консоль:
57
8
45
-1
Пример 2: Поиск всех вхождений элемента
function findAllIndex(string, value) {
indices = [];
var currentIndex = string.indexOf(value);
while (currentIndex != -1) {
indices.push(currentIndex);
currentIndex = string.indexOf(value, currentIndex + value.length);
}
return indices;
}
var str = "JavaScript is as related to Java as Carpenter is to Carpet.";
var occurance1 = findAllIndex(str, "J");
console.log(occurance1); // [ 0, 28 ]
var occurance2 = findAllIndex(str, "Carpet");
console.log(occurance2); // [ 52 ]
var occurance3 = findAllIndex(str, "x");
console.log(occurance3); // []
Вывод в консоль:
[ 0, 28 ]
[ 52 ]
[]
Все гайды по Javascript
Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
.textContent в JavaScript.style в JavaScript.setProperty() в JavaScript.scrollTo() в JavaScript.scrollIntoView() в JavaScript.scrollBy() в JavaScript.removeProperty() в JavaScript.removeEventListener() в JavaScript.querySelectorAll() в JavaScript.querySelector() в JavaScript.outerHTML в JavaScript.innerText в JavaScriptв JavaScript.hidden в JavaScript.getPropertyValue() в JavaScript.getElementsByTagName() в JavaScript.getElementsByClassName() в JavaScript.getAttribute() в JavaScript.focus() в JavaScriptЭлемент в JavaScript.dataset в JavaScript.closest() в JavaScript.classList в JavaScript.blur() в JavaScript.addEventListener() в JavaScript
Объект WeakSet в JavaScriptОбъект TypedArray в JavaScriptОбъект SharedArrayBuffer в JavaScriptОбъект Set в JavaScriptОбъект в JavaScriptОбъект Map в JavaScriptfunction в JavaScriptОбъект DataView в JavaScriptОбъект WeakMap в JavaScriptОбъект Atomics в JavaScriptМассивы в JavaScriptОбъект ArrayBuffer в JavaScript
window.print() в JavaScriptwindow.open() в JavaScriptwindow.navigator в JavaScriptwindow.location в JavaScriptwindow.history в JavaScriptURLSearchParams в JavaScriptsetTimeout() в JavaScriptsetInterval() в JavaScriptsessionStorage в JavaScriptqueueMicrotask() в JavaScriptprompt() в JavaScriptPerformance в JavaScriptwindow.matchMedia в JavaScriptlocalStorage в JavaScriptGeolocation API в JavaScriptFormData в JavaScriptfetch() в JavaScriptDOM в JavaScriptconsole.log() в JavaScriptconfirm() в JavaScriptclearTimeout() в JavaScriptclearInterval() в JavaScriptalert() в JavaScriptBOM в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript