首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Falsy Freecodecamp算法挑战

Falsy Freecodecamp算法挑战
EN

Stack Overflow用户
提问于 2017-07-08 22:24:53
回答 2查看 53关注 0票数 0

这段代码被认为是从数组中移除所有错误的值。我是接近成功了,还是应该放弃我正在做的事情?我倾向于接近,但后来却放弃了。

代码语言:javascript
复制
function bouncer(arr) {

var bouncer = arr.filter(function(bouncer)undefined, null, NaN, 0, "", false); return arr; } 

bouncer([7, "ate", "", false, 9]);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-09 00:02:22

尝试按布尔值进行筛选。这应该行得通。在我看来,你把问题复杂化了。看看这个exampleBoolean关键字是在JS中实现的,它只是检查给定值是否为有效参数。阅读有关Boolean关键字here的更多信息。

除了alert,您还可以使用returnconsole.log,或者将值输入到站点上的一个字段中,比如this

票数 0
EN

Stack Overflow用户

发布于 2017-07-09 12:21:28

这不是一个真正的答案,只是建议。

如果你正在学习编程,你应该写你的代码,以便(对你来说)清楚地知道发生了什么。例如,下面是一些有点学究的代码,但希望可以理解:

代码语言:javascript
复制
function copy_truthies(in_values) {
  let out_values = [];

  in_values.forEach(value => {
    if (value) {
      out_values.push(value);
    }
  });

  return out_values;
}

let all_values = [7, "ate", "", false, 9];
let truthy_values = copy_truthies(all_values);
console.log(truthy_values);

Tushar的解决方案是惯用的、优雅的,并且做了同样的事情;但它可能不会立即被刚开始的人理解:

代码语言:javascript
复制
console.log([7, "ate", "", false, 9].filter(e=>e))

再过几个月,您就可以流畅地使用一行程序进行思考了:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44987256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档