FreeCodeCamp筆記之:Finders Keepers

题目

写一个function,它遍历数组arr,并返回数组中第一个满足func返回值的元素。举个例子,如果arr为[1, 2, 3],func为function(num) {return num === 2; },那么find的返回值应为2。如果你被卡住了,记得开大招 Read-Search-Ask。尝试与他人结伴编程、编写你自己的代码。
这是一些对你有帮助的资源:
Array.filter()

function find(arr, func) {
  var num = 0;
  return num;
}
find([1, 2, 3, 4], function(num){ return num % 2 === 0; });
find([1, 3, 5, 8, 9, 10], function(num) { return num % 2 === 0; }) 应该返回 8。
find([1, 3, 5, 9], function(num) { return num % 2 === 0; }) 应该返回 undefined。

思路

1.看完了意思应该是从arr 中找到满足func的逻辑的数字,如果找不到,应该返回undefined;
2.这个比较简单,上for循环应该可以解决;

解答

function find(arr, func) {
  var num = 0;
  for (var i=0;i
  • 刚开始脚本写好之后,执行没有报错,但也没有通过,崩溃之。
    题目要求返回8,但我返回的是4,这个明显很莫名其妙,数组中并没有4;


    FreeCodeCamp筆記之:Finders Keepers_第1张图片
    image.png
  • 在脚本、题目里找了好半天,发现自己漏了一个题目的要求,找到第一个符合条件的值,于是在for里加上了强制跳出,果然OK;

你可能感兴趣的:(FreeCodeCamp筆記之:Finders Keepers)