我刚刚将数独求解器算法从c ++转换为js,但是有一些错误,例如。 “未捕获的TypeError:无法读取未定义的属性'0'”。 我不明白。
答案 0 :(得分:0)
在JS中,基本类型参数不通过引用传递,这意味着在调用函数后不会修改局部变量grid,row和col
FindUnassignedLocation(grid,row,col)
因此,基本上,当您在求解函数中调用grid[row][col] = num;
时,这些变量尚未设置(它们未定义')。
我建议您找到另一种方法来返回新值,例如使用objet作为返回值,或者将其修改为参数,因为参数对象是通过引用传递的。更多信息here
答案 1 :(得分:0)
,if (isSafe(grid, row, col, num)) { ...
你传递未初始化的变量row和col,这是在函数UsedInRow()中引发错误..