49 lines
2.1 KiB
Markdown
49 lines
2.1 KiB
Markdown
![]() |
---
|
|||
|
title: Finders Keepers
|
|||
|
localeTitle: Finders Keepers
|
|||
|
---
|
|||
|
## Проблема Объяснение
|
|||
|
|
|||
|
Нам нужно вернуть элемент из массива, который передает функцию. И `function` и `array` передаются в нашу функцию `findElement(arr, func)` .
|
|||
|
|
|||
|
## Подсказка: 1
|
|||
|
|
|||
|
Просмотр массива может выполняться с помощью цикла `for` .
|
|||
|
|
|||
|
> _попытаться решить проблему сейчас_
|
|||
|
|
|||
|
## Подсказка: 2
|
|||
|
|
|||
|
`num` передается функции. Нам нужно будет установить его на элементы, которые мы хотим проверить с помощью функции.
|
|||
|
|
|||
|
> _попытаться решить проблему сейчас_
|
|||
|
|
|||
|
## Подсказка: 3
|
|||
|
|
|||
|
Не забывайте, что если ни один из чисел в массиве не прошел тест, он должен возвращаться `undefined` .
|
|||
|
|
|||
|
> _попытаться решить проблему сейчас_
|
|||
|
|
|||
|
## Основное решение
|
|||
|
|
|||
|
```javascript
|
|||
|
function findElement(arr, func) {
|
|||
|
let num = 0;
|
|||
|
|
|||
|
for(var i = 0; i < arr.length; i++) {
|
|||
|
num = arr[i];
|
|||
|
if (func(num)) {
|
|||
|
return num;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return undefined;
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
## Обозначение кода
|
|||
|
|
|||
|
* Задача требует, чтобы мы просмотрели массив. Это делается с использованием цикла `for` .
|
|||
|
* В функцию передается переменная `num` , поэтому мы устанавливаем ее для каждого индекса в нашем массиве.
|
|||
|
* Предварительно определенная функция уже проверяет каждый номер для нас, поэтому, если это «истина», мы возвращаем это число.
|
|||
|
* Если ни один из чисел в массиве не прошел тест функции, мы возвращаем undefined.
|