未定义显示减少功能

时间:2021-02-05 02:26:06

标签: javascript

这是我的代码

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 函数来解决它;( 谢谢你帮助我。

1 个答案:

答案 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'))