我被要求在数组中过滤掉NaN,null,0,false.
幸运的是我回答了这个问题.
function bouncer(arr) {
function filterer(arr) {
return arr > 0|| isNaN(arr) === true;
}
arr = arr.filter(filterer);
return arr;
}
//example input
bouncer([0, 1, 2, 3, 'ate', '', false]); //output [1, 2, 3, 'ate']
Run Code Online (Sandbox Code Playgroud)
但问题是我真的不知道我是如何得出答案的,或者说我不知道它是如何运作的.特别是在arr> 0时,过滤器是如何知道arr在arr [1],arr [2]等上已经被读取的,而不使用循环来迭代所有数组.
或者只是简单地解释如何编码工作.[我试图清楚地解释它---]