2013-06-05 110 views
0

我想更改多維數組的值,但此代碼不斷告訴我 「無法設置屬性'5'(這是我猜測的數組長度)未定義「更改多維數組的值

obj.figures = new Array(
new Array(6,5,5,5,6,5,5), 
new Array(5,0,0,0,5,0,0), 
new Array(5,5,5,5,5,5,5), 
new Array(0,1,1,1,0,2,2), 
new Array(0,1,0,1,0,2,0) 
); 

function change() { 
for(var y = 0; y<obj.figures.length; y++) { 
    for(var x = 0; x<obj.figures[y].length; x++) { 
     $(y+","+x).addEventListener("click", function() { 
      console.log(this.id); 
      obj.figures[y][x] = 5; 
      }, false); 
     } 
    } 
} 
+0

也請分享您的HTML。什麼是$(y +「,」+ x)試圖在DOM中引用? –

+1

我更加困惑於用'addEventListener'將事件綁定到jQuery對象。當事件被觸發時,'y'和'x'的值也不會如預期的那樣。而且,你點擊的是什麼? '$(「5,4」)'不會選擇任何東西。 –

回答

0

你必須選擇你的Y和X值在此聲明:

obj.figures[y][x] = 5; 

應該

obj.figures[x][y] = 5; 
+0

我發現了什麼問題, '函數變化(){ 爲(VAR Y = 0; Y user2451733