JavaScript离开递归的第一个含义

时间:2019-03-08 10:29:17

标签: recursion

请帮助我坚持以下几点: 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);

0 个答案:

没有答案