我试图在JS中随机填充一个二维数组,但我希望每行每列生成的数字都是unique.Here,我的progression.This可以处理3x3网格,我的意思是随机生成的数字,但我想要9x9的大小,就像真正的sudoku.Thanx。
//create table
function UpdateTable() {
var arr = [];
while(arr.length < 10){
var randomnumber = Math.floor(Math.random()*10);
if(arr.indexOf(randomnumber) > -1 ) continue;
arr[arr.length] = randomnumber;
}
tmp1 = 'cell' + 1;
tmp2 = 'cell' + 2;
tmp3 = 'cell' + 3;
tmp4 = 'cell' + 4;
tmp5 = 'cell' + 5;
tmp6 = 'cell' + 6;
tmp7 = 'cell' + 7;
tmp8 = 'cell' + 8;
tmp9 = 'cell' + 9;
var temp = [tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9];
for (var i = 0; i < 10; i++) {
document.getElementById(temp[i]).innerHTML = arr[i];
}
}
UpdateTable();
<center>
<div id="container">
<div id="header">
<h1>Welcome</h1>
</div>
<div id="content">
<table border="1" id="lotto">
<tr class="tr1">
<td class="normal" id="cell1"> </td>
<td class="normal" id="cell2"> </td>
<td class="normal" id="cell3"> </td>
</tr>
<tr class="tr2">
<td class="normal" id="cell4"> </td>
<td class="normal" id="cell5"> </td>
<td class="normal" id="cell6"> </td>
</tr>
<tr class="tr3">
<td class="normal" id="cell7"> </td>
<td class="normal" id="cell8"> </td>
<td class="normal" id="cell9"> </td>
</tr>
</table>
</div>
</div>
<input type="button" value="Re-generate Numbers" onclick="UpdateTable();" />
</center>
https://stackoverflow.com/questions/51880325
复制相似问题