Виталий Котов
Как работает метод findIndex() - JavaScript
Автор
Метод findIndex()
возвращает индекс первого элемента массива, удовлетворяющего условиям заданной функции, или возвращает -1.
// функция возврата нечётного числа
function isOdd(element) {
return element % 2 !== 0;
}
// объявляем массив целых чисел
let numbers = [2, 8, 1, 3, 4];
// возвращяем индекс первого нечётного числа в массиве
let firstOdd = numbers.findIndex(isOdd);
console.log(firstOdd);
// Вывод в консоль: 2
Синтаксис findIndex()
Синтаксис метода findIndex()
следующий:
arr.findIndex(callback(element, index, arr), thisArg);
Где arr
- это массив.
Параметры findIndex()
Метод findIndex()
принимает:
callback
- функцию, которая будет вызываться для каждого элемента массива. Принимает:
element
- текущий обрабатываемый элемент в массиве.
- функцию, которая будет вызываться для каждого элемента массива. Принимает:
thisArg
(необязательно) - значение, используемое в качествеthis
, при вызове функцииcallback
.
Возвращаемое значение findIndex()
- Возвращает индекс первого элемента в массиве, который удовлетворяет заданной функции.
- Возвращает -1, если ни один из элементов не удовлетворяет функции.
Примеры
Пример 1: Используем метод findIndex()
// функция возврата чётных чисел
function isEven(element) {
return element % 2 == 0;
}
// объявляем массив целых чисел
let numbers = [1, 45, 8, 98, 7];
// возвращаем индекс первого чётного числа в массиве
let firstEven = numbers.findIndex(isEven);
console.log(firstEven); // 2
Вывод в консоль:
2
В приведенном выше примере мы использовали метод findIndex()
, чтобы найти индекс первого четного числа в массиве numbers
.
isEven()
- это функция, которая возвращает четное число. Мы передали isEven()
в качестве callback
функции в метод findIndex()
как - numbers.findIndex(isEven)
.
Метод возвращает 2 - индекс первого четного числа в массиве numbers
, т.е. 8.
Пример 2: findIndex() со стрелочной функцией
// объявляем массив
let days = ["Sunday", "Wednesday", "Tuesday", "Friday"];
// возвращаем первый индекс у 'Wednesday' в массиве
let index = days.findIndex((day) => day === "Wednesday");
console.log(index); // 1
Вывод в консоль:
1
Здесь мы передали стрелочную функцию в качестве callback
функции в методе findIndex(). Метод возвращает первый индекс 'Wednesday'.
Пример 3: findIndex() с элементами объекта
// объявляем объект
const team = [
{ name: "Bill", age: 10 },
{ name: "Linus", age: 15 },
{ name: "Alan", age: 20 },
{ name: "Steve", age: 34 },
];
// функция, возвращающая возраст больший или равный 18
function isAdult(member) {
return member.age >= 18;
}
// возвращает индекс первого элемента, который
// больше или равен 18
console.log(team.findIndex(isAdult)); // 2
Вывод в консоль:
2
Все гайды по 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