繁体   English   中英

虚假Freecodecamp算法挑战

[英]Falsy Freecodecamp algorithm challenge

该代码应从数组中删除所有虚假值。 我快要拿到它了还是应该放弃正在做的事情? 我倾向于接近,直到以后放弃。

function bouncer(arr) {

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

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

尝试按布尔值过滤。 那应该工作。 您认为我的问题过于复杂。 看这个例子 Boolean关键字是在JS中实现的,仅检查给定值是否为有效参数。 在此处阅读有关Boolean关键字的更多信息。

取而代之的alert您还可以使用returnconsole.log或给值到字段喜欢的网站上这样

这不是真正的答案,只是建议...

如果您正在学习编码,则应该编写代码,以使代码对您来说显而易见且清楚。 例如,下面的代码有些古怪,但希望可以理解:

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的解决方案是惯用的,优雅的,并且做同样的事情。 但是刚开始的人可能不会立即理解它:

console.log([7, "ate", "", false, 9].filter(e=>e))

只要花几个月的时间,您就会流畅地思考一线:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM