2014-11-03 91 views
1

我搜索了很多,無法得到明確的答案我的問題。JavaScript中的二維數組返回未定義的數組

var rowCount = 3; 
var myCounter = 0; 
var myNewArray = new Array(); 

for (var i = 1; i < rowCount; i++) { 
    try { 
     myNewArray[myCounter][0] = i;         
     myNewArray[myCounter][1] = i; 

     myCounter = myCounter + 1; 

    } catch (err) { 
     alert(err.message); 
    } 
} 

它給與異常說myNewArray [myCounter]是未定義的。任何想法爲什麼?我看過其他帖子,並且都顯示了像這樣或使用新的Array([])聲明數組。沒有任何工作。 需要幫助,提前謝謝。

+0

謝謝大家的響應@torazburo,它與添加myNewArray [myCounter] = [];在myNewArray [myCounter] = [1]之前;正如Quince所解釋的那樣。 – Alz 2014-11-04 06:50:04

回答

2

目前myNewArray是一個數組,但元素,你要訪問它還不存在(不確定),所以你需要設置這些元素作爲數組

var rowCount = 3; 
var myCounter = 0; 
var myNewArray = new Array(); 

for (var i = 1; i < rowCount; i++) { 
    try { 
     //set this element as an array if you want to then access it as an array 
     myNewArray[myCounter] = []; 
     myNewArray[myCounter][0] = i; 
     myNewArray[myCounter][1] = i; 

     myCounter = myCounter + 1; 

    } catch (err) { 
     alert(err.message); 
    } 
} 
+0

謝謝你的迴應,完美工作。 :D添加myNewArray [myCounter] = [];並得到了工作 – Alz 2014-11-04 06:49:16

+0

如果這個問題解決了,那麼你可以標記爲答案,如果你想 – Quince 2014-11-04 08:29:00