迈向7级的第三个脚印
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

Description:

Let’s implement the reject() function…

var odds = reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> [1, 3, 5]

菜鸟出招

function reject(array, iterator) {
  //
  var a = [];
  for (var i in array) {
    if(!iterator(array[i])) {
      a.push(array[i]);
    }
  }
  return a;
}

菜鸟思维

  1. 遍历数组变量
  2. 执行回调函数
  3. 将符合条件的值push入新数组

偷师学艺

function reject(array, iterator) {
  return array.filter(function(val){ return !iterator(val) })
}

关键字积累

  • filter

菜鸟反思

这个,你怎么看。

评论
发表评论
5年前
赞了此文章!
6年前

@飞天小黑神猪 趁着没人,给自己涨涨人气。要不然,就我这点水平,会被大神们的光芒掩盖住的。

6年前

你的实现完全没问题,只是没有使用已经提供的API而已。

还有过年还那么努力,太可怕了。。

WRITTEN BY
BoltDoggy
A doggy named Bolt.
TA的新浪微博
PUBLISHED IN
My Code Wars 我的代码战争【休息一下】

这里讲述的是一个8级(kyu)菜鸟立志成为8段(dan)大神的故事。

他在代码战争中一次次遭遇挫败,而又在乱炖中获得高人指点。

遥想当年自高自大,而今终知天外有天。

坚持要走出一条自己的路,这是一条不归路。


Bolt 在写underscore.js源码分析专栏的时候发现了一个问题,就是看别人写的代码的时候自认为看懂了,但实际上有理解错误自己也不知道。

另外就是看了再牛逼的代码,自己写的时候,还是那些小套套。

于是 Bolt 开了一个新专栏:My Code Wars 我的代码战争。在同一需求下,菜鸟写的代码与大神有什么区别,是思维方式不同,还是什么原因导致的?

欢迎大家来新专栏提供意见和建议。

我的收藏