请帮助我坚持以下几点: F Step获取数组,递归地更改其含义(零),然后我需要返回更改后的数组(arrAll)。 但是当所有含义正确交换后,我就会遇到麻烦: 1.函数不返回任何信息(tt最后为空)。 2.使用console.log(“ solved”,arrAll),我看到所有'arrAll'更改的列表,第一个是我需要的,如何获取它并保留递归? 附言内部的所有其他功能,例如getOptionValues,stepBack不是递归的。
谢谢!
function step(arrAll){
let num = arrAll.indexOf(0);
if (num<0){
//console.log("solved",arrAll);
return arrAll;
}
let optArr = getOptionValues(getRowsColumns(arrAll,num));
if (failsArr[num]){
failsArr[num].forEach(function(e){;
if(e){
optArr.splice(optArr.indexOf(e),1);
}
})
}
if (optArr.length==0){
stepBack(arrAll,arrZeros, num);
step(arrAll);
}
arrAll[num]=optArr[0];
step(arrAll);
}
let tt = step(strSud);