Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
129 views
in Technique[技术] by (71.8m points)

javascript - Undefined shows on reduce function

Here is my code

const filterByType = (target , ...element) => {
    return element.reduce((start , next) =>{
        if(typeof next === target){
            start.push(next)
        }
    } , [])
}

My goal is like when I pass in filterByType('number', 1,2,3,'ke') and the result is [1,2,3]

bu the error shows

Uncaught TypeError: Cannot read property 'push' of undefined

I know I can use filter function but I really want to try to use reduce function to solve it ;( Thanks for helping me.

question from:https://stackoverflow.com/questions/66056742/undefined-shows-on-reduce-function

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You forgot 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'))

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...