Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «find() у масиві». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Метод **`find()`** - один із найчастіше використовуваних у JavaScript для пошуку конкретного елемента в масиві за умовою. Він не фільтрує і не перебирає весь масив заради нового - він знаходить перший відповідний елемент і зупиняється. **Ключове:** `find()` повертає перший елемент, який задовольняє умову, або `undefined`, якщо такого немає.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняМетод `find()` - один із найчастіше використовуваних у JavaScript для **пошуку конкретного елемента** в масиві за умовою. Він не фільтрує і не перебирає весь масив заради нового - він **знаходить перший відповідний елемент і зупиняється**. ## Синтаксис ```javascript const result = array.find((element, index, array) => { return умова; }); ``` ### Параметри колбеку: | Аргумент | Опис | | --- | --- | | `element` | Поточний елемент масиву | | `index` | Індекс поточного елемента | | `array` | Сам вихідний масив | ## Приклад 1. Пошук числа в масиві ```javascript const numbers = [1, 5, 10, 15, 20]; const found = numbers.find(num => num > 10); console.log(found); // 15 ``` > `find()` повернув **перше значення**, що задовольняє умову (`> 10`), і **зупинив** пошук. > Якщо нічого не знайдено - повертає `undefined`. ## Приклад 2. Пошук об'єкта за властивістю ```javascript const users = [ { id: 1, name: 'Tim', age: 25 }, { id: 2, name: 'Alex', age: 17 }, { id: 3, name: 'John', age: 30 } ]; const user = users.find(u => u.id === 3); console.log(user); // { id: 3, name: 'John', age: 30 } ``` > Дуже частий випадок - пошук елемента в масиві об'єктів (наприклад, за `id`). ## Приклад 3. Якщо елемент не знайдено ```javascript const arr = [10, 20, 30]; const res = arr.find(num => num > 50); console.log(res); // undefined ``` > Якщо не знайдено жодного відповідного елемента - повертається `undefined`, а не помилка. ## Часті помилки 1. **Очікування масиву замість одного елемента:** ```javascript const result = arr.find(num => num > 5); console.log(result.length); // Помилка - find повертає елемент, не масив ``` Якщо потрібні **всі** елементи, а не один - використовуй `filter()`. 2. **Забутий** `return` **у фігурних дужках:** ```javascript arr.find(num => { num > 5 }); // завжди undefined ``` Правильно: ```javascript arr.find(num => num > 5); // або arr.find(num => { return num > 5 }); ``` ## Коли використовувати `find()` | Мета | Чи підходить `find()` | | --- | --- | | Знайти **перший елемент**, що задовольняє умову | Так | | Знайти **всі відповідні елементи** | Ні - використовуй `filter()` | | Перевірити, чи є хоча б один елемент | Ні - використовуй `some()` | | Перетворити дані | Ні - використовуй `map()` | ## Коротко: > `find()` повертає **перший елемент**, який задовольняє умову, або `undefined`, якщо такого немає. Формула для запам'ятовування: `arr.find(умова)` -> `один_елемент_або_undefined` ## Порівняння зі схожими методами | Метод | Що повертає | Коли зупиняється | Приклад | | --- | --- | --- | --- | | **find()** | Перший відповідний елемент | Після першого збігу | `[1,2,3].find(x => x>1)` -> `2` | | **filter()** | Усі відповідні елементи (масив) | Після проходу всього масиву | `[1,2,3].filter(x => x>1)` -> `[2,3]` | | **findIndex()** | Індекс знайденого елемента | Після першого збігу | `[10,20,30].findIndex(x=>x>10)` -> `1` | | **some()** | `true`/`false` (чи знайшовся хоч один) | Після першого збігу | `[1,2,3].some(x=>x>2)` -> `true` |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.