Menu
Coddy logo textTech

Методы Find и FindIndex

Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 58 из 65.

Метод find() возвращает первый элемент в массиве, который удовлетворяет условию предоставленной функции тестирования. Если ни один элемент не найден, он возвращает undefined.

Метод findIndex() похож, но возвращает индекс первого подходящего элемента вместо самого элемента. Если элемент не найден, он возвращает -1.

Базовый синтаксис:

array.find(callback(element[, index[, array]]))
array.findIndex(callback(element[, index[, array]]))

Простой пример с find():

const numbers = [5, 12, 8, 130, 44];
const found = numbers.find(num => num > 10);
console.log(found);
// 12 (первое число больше 10)

Тот же пример с findIndex():

const numbers = [5, 12, 8, 130, 44];
const foundIndex = numbers.findIndex(num => num > 10);
console.log(foundIndex);
// 1 (индекс первого числа больше 10)

Поиск объектов в массиве:

const inventory = [
	{name: 'apples', quantity: 2},
	{name: 'bananas', quantity: 0},
	{name: 'oranges', quantity: 5}
];

// Использование find
const result = inventory.find(item => item.name === 'bananas');
console.log(result); // {name: 'bananas', quantity: 0}

// Использование findIndex
const index = inventory.findIndex(item => item.name === 'bananas');
console.log(index); // 1
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Шпаргалка

Метод find() возвращает первый элемент, который удовлетворяет условию проверочной функции, или undefined, если такой элемент не найден:

const numbers = [5, 12, 8, 130, 44];
const found = numbers.find(num => num > 10);
console.log(found); // 12

Метод findIndex() возвращает индекс первого найденного элемента или -1, если совпадений не найдено:

const numbers = [5, 12, 8, 130, 44];
const foundIndex = numbers.findIndex(num => num > 10);
console.log(foundIndex); // 1

Поиск объектов в массивах:

const inventory = [
	{name: 'apples', quantity: 2},
	{name: 'bananas', quantity: 0},
	{name: 'oranges', quantity: 5}
];

const result = inventory.find(item => item.name === 'bananas');
// {name: 'bananas', quantity: 0}

const index = inventory.findIndex(item => item.name === 'bananas');
// 1

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и поток