这是我的代码
const filterByType = (target , ...element) => {
return element.reduce((start , next) =>{
if(typeof next === target){
start.push(next)
}
} , [])
}
我的目标就像我传球时
filterByType('number', 1,2,3,'ke')
结果是 [1,2,3]
但错误显示
Uncaught TypeError: Cannot read property 'push' of undefined
我知道我可以使用 filter 函数,但我真的想尝试使用 reduce 函数来解决它;( 谢谢你帮助我。
答案 0 :(得分:0)
你忘记了return start
const filterByType = (target , ...element) => {
return element.reduce((start , next) =>{
if(typeof next === target){
start.push(next)
}
return start
} , [])
}
console.log(filterByType('number', 1,2,3,'ke'))