我試圖將一個數獨網格分組到9個框中。我排列了列和行,但不能想到一個有效的方法來編碼盒數組。 我看僞是這樣的:如何將此psudocode塊優化爲循環?
add rowArray0 entries 0,1,2 to boxArray0
add rowArray1 entries 0,1,2 to boxArray0
add rowArray2 entries 0,1,2 to boxArray0
add rowArray0 entries 3,4,5 to boxArray1
add rowArray1 entries 3,4,5 to boxArray1
add rowArray2 entries 3,4,5 to boxArray1
add rowArray0 entries 6,7,8 to boxArray2
add rowArray1 entries 6,7,8 to boxArray2
add rowArray2 entries 6,7,8 to boxArray2
add rowArray3 entries 0,1,2 to boxArray3
add rowArray4 entries 0,1,2 to boxArray3
add rowArray5 entries 0,1,2 to boxArray3
add rowArray3 entries 3,4,5 to boxArray4
add rowArray4 entries 3,4,5 to boxArray4
add rowArray5 entries 3,4,5 to boxArray4
add rowArray3 entries 6,7,8 to boxArray5
add rowArray4 entries 6,7,8 to boxArray5
add rowArray5 entries 6,7,8 to boxArray5
add rowArray6 entries 0,1,2 to boxArray6
add rowArray7 entries 0,1,2 to boxArray6
add rowArray8 entries 0,1,2 to boxArray6
add rowArray6 entries 3,4,5 to boxArray7
add rowArray7 entries 3,4,5 to boxArray7
add rowArray8 entries 3,4,5 to boxArray7
add rowArray6 entries 6,7,8 to boxArray8
add rowArray7 entries 6,7,8 to boxArray8
add rowArray8 entries 6,7,8 to boxArray8
我很抱歉,如果這似乎是一個愚蠢的問題,我只是沒有足夠的智慧人物的迴路等效。 有人聰明可以告訴我一個解決方案?
編輯添加的行和列陣列結構:
<table>
<tr class="r0">
<td contenteditable="true" class="c0" onkeyup="inputFilter(this)">1</td>
<td contenteditable="true" class="c1" onkeyup="inputFilter(this)">2</td>
<td contenteditable="true" class="c2" onkeyup="inputFilter(this)">3</td>
<td contenteditable="true" class="c3" onkeyup="inputFilter(this)">4</td>
<td contenteditable="true" class="c4" onkeyup="inputFilter(this)">5</td>
<td contenteditable="true" class="c5" onkeyup="inputFilter(this)">6</td>
<td contenteditable="true" class="c6" onkeyup="inputFilter(this)">7</td>
<td contenteditable="true" class="c7" onkeyup="inputFilter(this)">8</td>
<td contenteditable="true" class="c8" onkeyup="inputFilter(this)">9</td>
</tr>
<tr class="r1">
etc
<script>
//columns
for(i=0;i<9;i++){
str = "c" + i;
allCols[i] = document.getElementsByClassName(str);
}
//rows
for(i=0;i<9;i++){
rowArray = new Array();
for(ii=0;ii<9;ii++){
colArray = allCols[ii];
elem = colArray[i];
rowArray[ii] = elem;
}
allRows[i] = rowArray;
}
那麼的cols是從上到下,從左到右。 行從左到右,從上到下。 關於多數組的必要性的評論 - 這不是引用每個結構的最佳方式嗎?我想我可以每次使用數學來定位html元素,但是在初始化時將它們分組到數組似乎是合乎邏輯的......也許我錯了? 我想這是對getElementsByClassName如何分組到一個數組的反應。爲什麼我可以將它們解壓縮成單維數組?
這是怎麼涉及到的JavaScript? –
您可以發佈您的rowArrays結構和boxArrays所需的輸出請 –
您是否想出一個有效的數據結構來表示您的Sudoku網格?如果是這種情況,請從實施中退出一秒,並考慮您需要訪問/更改字段的方式。你真的需要多個數組嗎? – Timo