for循环跳过循环,JS

时间:2020-05-21 17:07:47

标签: javascript arrays algorithm numbers

下午好。

我正在尝试使算法输出2d数组,以实现数独求解器的目的。 我正在尝试使用for循环创建2d数组并添加多个数组。 无论如何,当我进行测试时,我注意到如果我记录了i,我不会得到1,2,3等。我得到0或9(示例)。我将发布完整代码。希望一切都有意义,谢谢!

const output = document.querySelector("div");

function randomNumber(range){
    //generates a number
   return Math.ceil(Math.random()*range);
}

function randomLine(range){
    //generates a random line without repeating numbers
    let arr = [];
    for (i=0;i<range;){
        let num = randomNumber(range);
        if (checkMatch(num,arr) == false){
            arr.push(num);
            i++;
        }
    }
    return arr;
}

function checkMatch(num,arr){
    //checks a single number against an array
    let match = false;
    let len = arr.length;
    for (i=0;i<len;i++){
        if (arr[i] == num){
            match = true;
        }
    }
    return match;
}

function htmlOutput(range){
    //The problem
    for (i=0;i<range;i++){
        console.log(i);
        console.log(randomLine(range));
        console.log(i);
    }
}

htmlOutput(9);

0 个答案:

没有答案