49 lines
1.2 KiB
Markdown
49 lines
1.2 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`变量被传递给函数,因此我们将它设置为数组中的每个索引。
|
|||
|
* 预定义的函数已经为我们检查了每个数字,所以如果它是“true”,我们将返回该数字。
|
|||
|
* 如果数组中没有数字通过函数的测试,我们返回undefined。
|