undefined从函数返回

时间:2011-12-07 19:22:52

标签: javascript

我有一个简单的递归函数,它返回undefined而不是所需的字符串。谁能告诉我我错过了什么?

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 );
            }
        }

2 个答案:

答案 0 :(得分:1)

您忘记了return条款中的else声明:

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

答案 1 :(得分:0)

如果returncount,则只有0

您可能希望在return之前加入testData()