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

Categories

I have a simple recursive function that is returning undefined instead of the desired string. Can anyone tell me what I am missing?

var someString = 'item1|item2|item3|item4';
        console.log( testData(someString, '|', 2) );

        function testData( data, token, count ) {   
            console.log(data);
            if( count == 0 ) { 
                return data; 
            } else {
                testData( data.substring( data.indexOf( token ) + 1 ), token, count - 1 );
            }
        }
See Question&Answers more detail:os

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

1 Answer

You forgot the return statement in your else clause:

else {
    return testData( data.substring( data.indexOf( token ) + 1 ), token, count - 1 );
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...