非常感謝您花時間幫助我解決這個問題。For-Loop生成多維數組
我正在嘗試使用for循環生成一個如此簡單的板。
var board = [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]];
但是,我的下面的嘗試沒有成功。
function makeBoard(n){
var board=[];
for(var i=0; i<n; i++){
for(var j=0; j<n; j++){
board[i][j]=0;
}
}
return board;
}
從技術上講,我可以使用上面顯示的板子變量,然後繼續,但我更關心這個原理。使用for循環創建多維數組是不可能的?有沒有簡單的方法來完成這個使用array.push()?
Array.fill() - 太棒了!謝謝保羅! – Trevor
只適用於[選定的用戶代理](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/fill#Browser_compatibility)。 –
@isvforall這不起作用,因爲'Array.fill'不會執行深層複製。你最終得到了'board [0] === board [1] === board [2] ...'對同一個數組的所有引用 – Paulpro