FreeCodeCamp筆記之:Finders Keepers

作者: delphuy | 来源:发表于2017-10-23 14:02 被阅读6次

题目

写一个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<arr.length;i++){
        if (func(arr[i])){
          num = arr[i] ;
          break;   // 依题目要求是返回数组中第一个满足的元素,因此找到第一个值之后记得强制跳出循环
        }    
  }
  if (!num){  // 当num 不存在时应该返回undefined
    return undefined;
  } 
  return num;
}
find([1, 2, 3, 4], function(num){ return num % 2 === 0; });
  • 刚开始脚本写好之后,执行没有报错,但也没有通过,崩溃之。
    题目要求返回8,但我返回的是4,这个明显很莫名其妙,数组中并没有4;


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

相关文章

  • FreeCodeCamp筆記之:Finders Keepers

    题目 写一个function,它遍历数组arr,并返回数组中第一个满足func返回值的元素。举个例子,如果arr为...

  • Finders Keepers

    写一个 function,它遍历数组 arr,并返回数组中第一个满足 func 返回值的元素。举个例子,如果 ar...

  • 快乐13

    wish me luck 祝我好运 Finders keepers, losers weepers. 先到先得,后...

  • FreeCodeCamp筆記之:Drop it(*)

    题目 队友该卖就卖,千万别舍不得。当你的队伍被敌人包围时,你选择拯救谁、抛弃谁非常重要,如果选择错误就会造成团灭。...

  • FreeCodeCamp筆記之:Steamroller

    题目 对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。如果你被卡住了,记得开大招 Read-Search-...

  • FCC-Finders Keepers

    写一个 function,它遍历数组 arr,并返回数组中第一个满足 func 返回值的元素。举个例子,如果 ar...

  • FreeCodeCamp筆記之:Exact Change

    题目 设计一个收银程序checkCashRegister(),其把购买价格(price)作为第一个参数 , 付款金...

  • FreeCodeCamp筆記之:Symmetric Differ

    题目 创建一个函数,接受两个或多个数组,返回所给数组的对等差分(symmetric difference)(△or...

  • FreeCodeCamp筆記之:Pig Latin

    题目 把指定的字符串翻译成 pig latin。Pig Latin 把一个英文单词的第一个辅音或辅音丛(conso...

  • FreeCodeCamp筆記之:Search and Repla

    题目 使用给定的参数对句子执行一次查找和替换,然后返回新句子。第一个参数是将要对其执行查找和替换的句子。第二个参数...

网友评论

    本文标题:FreeCodeCamp筆記之:Finders Keepers

    本文链接:https://www.haomeiwen.com/subject/ldqauxtx.html