2013-06-24 109 views
2

我有這樣的2D陣列:鏡像2D陣列

var array = [ 
    [0,0,0,0,0], 
    [0,0,0,0,0], 
    [0,0,1,0,0], 
    [0,0,0,0,0], 
    [0,0,0,0,0] 
]; 

我基本上想要做的是,當一個節點被改變時,例如

array[3][2] = 1; 

它改變了陣列的另一側,例如,

array[1][2] = 1; 

[編輯] 基本上,我選擇隨機x和隨機y座標並填充有1

I.e.

如果我從左側更改了2個節點,我想從右側更改同一個2個節點。

+5

什麼是「數組的對面」? – frenchie

+0

好像在鏡子裏看着它 –

+1

首先,我認爲這只是一個2D數組。其次,沒有數據變化的事件,所以你需要一個自定義函數來設置數據,並確保這個函數總是用來更新數組 – musefan

回答

0

繼續我的評論,創建一個函數來更新數據。然後你就可以計算出「對面」和更新太:

function updateArray(array, x, y, v){ 
    array[x][y] = v; 
    var newX = array.length - 1 - x; 
    array[newX][y] = v; 
} 

使用示例:

updateArray(array, 3, 2, 1);//will set array[3][2] and array[1][2] 

Here is a working example

+0

我相信這就是我想要的!謝謝 - 我已經有一個(狡猾的)功能,但這似乎是正確的 - 謝謝! –