我真的試圖初始化多陣列數獨[9] [9]其是由細胞的我運行時 sudoku.initialize(),所有row,col,box in * sudoku [x] [y] * s分別是8,8,9。設置屬性值在多dementional對象陣列
var cell = {
sol: 0,
row: 0,
col: 0,
box: 0,
candi: [1, 2, 3, 4, 5, 6, 7, 8, 9]
};
var sudoku = {}
sudoku = new Array(9);
for (var i = 0; i < 9; i++) {
sudoku[i] = new Array(9);
}
for (var i = 0; i < 9; i++) {
for (var j = 0; j < 9; j++) {
sudoku[i][j] = cell;
}
}
sudoku.initialize = function() {
for (var i = 0; i < 9; i++) {
for (var j = 0; j < 9; j++) {
sudoku[i][j].row = i;
sudoku[i][j].col = j;
if (i < 3) {
if (j < 3)
sudoku[i][j].box = 1;
else if (2 < j && j < 6)
sudoku[i][j].box = 2;
else if (5 < j)
sudoku[i][j].box = 3;
}
else if (2 < i && i < 6) {
if (j < 3)
sudoku[i][j].box = 4;
else if (2 < j && j < 6)
sudoku[i][j].box = 5;
else if (5 < j)
sudoku[i][j].box = 6;
}
else if (5 < i)
if (j < 3)
sudoku[i][j].box = 7;
else if (2 < j && j < 6)
sudoku[i][j].box = 8;
else if (5 < j)
sudoku[i][j].box = 9;
}
}
}
sudoku.print=function(){
for (var i = 0; i < 9; i++) {
for (var j = 0; j < 9; j++) {
document.write(sudoku[i][j].col + " ");
}
document.write("\n");
}
}
sudoku.initialize();`
我想JavaScript中的多元數組存在誤解。
sudoku[2][2].box=1
1
sudoku[4][8].box=2
2
sudoku[2][2].box
2
sudoku[3][3].box
2
因爲我是JavaScript的初學者,這段代碼可能很荒謬。但無論如何,你可以抓住我的意思。
數組中的所有81個項目指向同一個對象。 –