【发布时间】:2016-06-24 23:39:47
【问题描述】:
我已经声明了一个名为 filter 的函数,将数组和回调作为参数,并且只将偶数传递给新数组。该代码有效,但它也将非偶数作为“未定义”传递(我引用它,而不是字符串)。我究竟做错了什么?
function filter(array, callback) {
var output = [];
for(var i = 0; i < array.length; i++) {
output.push(callback(array[i]));
}
return output;
}
function isEven(elem) {
if (elem % 2 === 0)
return elem;
}
filter([0,1,2,3,4,5,6,7],isEven); -> [ 0,undefined,2,undefined,4,undefined, 6,undefined]
【问题讨论】:
-
我很确定你已经知道了,只是留给其他人的便条 -
Array有一个过滤方法:[0, 1, 2, 3, 4].filter(element => element % 2 == 0)
标签: javascript arrays