下午好。
我正在尝试使算法输出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);