Назад к вопросам
Junior
83
questionbank
Какова разница между методами filter и find в JavaScript?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
filter(): Возвращает новый массив, содержащий все элементы исходного массива, для которых переданная функция обратного вызова вернула истинное значение. Если ни один элемент не удовлетворяет условию, возвращается пустой массив.find(): Возвращает первый элемент исходного массива, для которого переданная функция обратного вызова вернула истинное значение. Если ни один элемент не удовлетворяет условию, возвращаетсяundefined.
| Метод | Возвращаемое значение | Количество элементов в результате |
|---|---|---|
filter() |
Новый массив (даже если он пустой) | Ноль, один или несколько |
find() |
Значение первого найденного элемента или undefined |
Ноль (если не найдено) или один |
Пример filter:
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers будет [2, 4, 6]
Пример find:
const users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' }
];
const firstAlice = users.find(user => user.name === 'Alice');
// firstAlice будет { id: 1, name: 'Alice' }