JavaScript使用回调函数过滤数组 补全func1、func2代码问题
问题排查
你编写的func1、func2没有设置显式返回值,JavaScript 函数无return语句时默认返回undefined,而filterArray的判断逻辑中undefined属于假值,不会触发元素push操作,因此两次调用都返回空数组。
同时回调函数不需要修改入参num的值,仅需要返回布尔类型的判断结果即可:返回真值时当前元素会被加入结果数组,返回假值则会被过滤。
正确实现
function func1(num) { // 匹配偶数返回真值 return num % 2 === 0; } function func2(num) { // 匹配奇数返回真值 return num % 2 !== 0; }
输出验证
运行代码后控制台输出符合预期:
- 第一次打印:
[2, 4] - 第二次打印:
[1, 3, 5]
内容的提问来源于stack exchange,提问作者Matthew Schwer
相关产品推荐
相关产品推荐

