2015-01-17 26 views
1

我試圖讓2D場:JavaScript的二維數組設定值錯誤的配位

var field=[]; 
    N = 8; 
    M = 12; 

for (Y=0;Y<M;Y++){ 

    for (X=0;X<N;X++){ 
    field[X,Y]=0;  //trying to make 2d field with coordinates X,Y 
    }; 
}; 

function functiontest(){ 
    field[3,10]=1;  //trying to set to coordinates "3,10" value 1 
    alert(field[2,10]); //ALERTS 1 for some reason 
}; 

我試圖值設置爲1到座標「310」,不過這臺價值1所有座標,它有第二個座標(X,10)。當我添加腳本時,它將藍色背景設置爲值爲1的DIV(id與座標相同),它將它設置爲整行。

function functionblue(){ 
    for (Y=0;Y<M;Y++){ 
    for (X=0;X<N;Z++){ 
     if (field[X,Y]==0){ 
     $("#z"+X+""+Y).css("background","blue");  //Divs and its IDs work properly 
     }; 
    }; 
    }; 
}; 

Image Link

那麼我如何設定值只是一點(不行)?

+3

變化'字段[X,Y]'嘗試此爲一個8×10場至場'[X] [Y]'。 – thefourtheye

回答

2

n= 8; 
m= 12; 
var field1= new Array(n); 

for (Y=0;Y<n;Y++){ 
    var field2= new Array(m); 
    for (X=0;X<m;X++){ 
    field2[X]=0; 
    }; 
    field1[Y]= field2; 
}; 

function functiontest(){ 
    field1[3][10]=1;  
    alert(field1[2][10]); 
}; 
+0

這是一個非常有用的答案,functionblue()與改變@thefourtheye提到現在正常工作。謝謝! – Pruzo

+0

然後接受答案 –