我在javascript聲明2D陣列如下:在JavaScript 2D陣列更新一個對象更新的每一個對象
cell = {visited:false, left:true, top:true, right:true, bottom:true}
cells = new Array(10);
for (i = 0; i < 10; i++) //Initiate 2d cells array.
{
cells[i] = new Array(cell,cell,cell,cell,cell,cell,cell,cell,cell,cell);
}
在代碼後來我陣列中更新一個對象:
cells[0][0].visited = true;
但是,在執行此操作後,數組中每個對象的每個訪問屬性都標記爲true。
見你只有一個單細胞,在數組中多次引用。您需要克隆它們,或者在循環中創建每個單元格。 –
您的代碼將10次完全相同的對象放入數組中。該數組將包含10個對同一個單一對象的引用。 – Pointy
如何創建單獨的單元格對象的數組? – Goblaz