我有一个简单的递归函数,它返回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 );
}
}
答案 0 :(得分:1)
您忘记了return
条款中的else
声明:
else {
return testData( data.substring( data.indexOf( token ) + 1 ), token, count - 1 );
}
答案 1 :(得分:0)
如果return
为count
,则只有0
。
您可能希望在return
之前加入testData()
。