Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数返回值,结果显示未定义_Javascript_Recursion - Fatal编程技术网

Javascript 函数返回值,结果显示未定义

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的值总是未定义的。有人能帮我

嗨,我已经尝试过这个函数。这个函数将给出一个行号,直到“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的值总是未定义的。有人能帮我理解为什么会这样吗。谢谢你的帮助

只有在
arr[row][col]!='b'
。否则你什么也不退

你需要

return getPositionbyRow(row+1,col);

为了使递归函数工作,您应该
返回getPositionbyRow(行+1,列)


另外,在数组中不存在“b”时添加一个条件也是一个很好的做法,例如返回-1。这样您将避免无休止的循环

请不要根据答案/评论中的建议更新问题。这使他们避免了“谢谢”意识到的错误。