Javascript 函数返回值,结果显示未定义
嗨,我已经尝试过这个函数。这个函数将给出一个行号,直到“b”出现在同一列中Javascript 函数返回值,结果显示未定义,javascript,recursion,Javascript,Recursion,嗨,我已经尝试过这个函数。这个函数将给出一个行号,直到“b”出现在同一列中 var arr= ['abc','tbu','iop']; var getPositionbyRow = function(row, col) { if(arr[row][col]!=='b') { return row; } getPositionbyRow(row+1,col); } var r = getPositionbyRow(0,1); 但r的值总是未定义的。有人能帮我
var arr= ['abc','tbu','iop'];
var getPositionbyRow = function(row, col) {
if(arr[row][col]!=='b') {
return row;
}
getPositionbyRow(row+1,col);
}
var r = getPositionbyRow(0,1);
但r的值总是未定义的。有人能帮我理解为什么会这样吗。谢谢你的帮助 只有在
arr[row][col]!='b'
。否则你什么也不退
你需要
return getPositionbyRow(row+1,col);
为了使递归函数工作,您应该
返回getPositionbyRow(行+1,列)代码>
另外,在数组中不存在“b”时添加一个条件也是一个很好的做法,例如返回-1。这样您将避免无休止的循环请不要根据答案/评论中的建议更新问题。这使他们避免了“谢谢”意识到的错误。