您好我已经尝试过这个功能。这个功能会给出行号,直到'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的值始终未定义。有人可以帮助我理解为什么会发生这种情况。感谢帮助。
答案 0 :(得分:1)
为了使您的递归函数正常工作,您应该return getPositionbyRow(row+1,col);
当数组中不存在'b'时,添加条件也是一个好习惯,例如返回-1。这样你就可以避免无休止的循环
答案 1 :(得分:0)
如果arr[row][col]!=='b'
,您只会返回一些内容。否则你什么也不返回。
你需要
return getPositionbyRow(row+1,col);