Falsy Freecodecamp算法挑战



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

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))

只要给它几个月的时间,你就会流利地思考一行:)

最新更新