Вебсправочник
Справочник JavaScript

Array.find(): первый элемент по условию

Метод find возвращает первый элемент массива, для которого функция проверки дала истинный результат.

Назначение

Метод find возвращает первый элемент массива, для которого функция проверки дала истинный результат.

Как это работает

Перебор прекращается после первого совпадения. Если подходящего элемента нет, результат равен undefined. Возвращённый объект остаётся тем же объектом, а не независимой глубокой копией.

Пример

const posts=[{id:1,ready:false},{id:2,ready:true}];
const found=posts.find(post=>post.ready);
console.assert(found.id===2);
console.assert(posts.find(post=>post.id===99)===undefined);

Что должно получиться

Найдена запись с id=2; поиск отсутствующего идентификатора возвращает undefined. Функция проверки не меняет массив и только решает, подходит ли элемент.

Граница применения и частая ошибка

Не обращайтесь к свойствам результата без проверки отсутствия. И не используйте find, когда нужны все совпадения: для этого подходит filter.

Самостоятельная проверка

Добавьте ещё одну доступную запись и убедитесь, что выбрана первая. Затем сделайте все записи недоступными и обработайте undefined без ошибки чтения свойств.

JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.