2013-02-06 37 views
0

我已經在javascript中創建了這個多維數組。在Javascript多維數組中設置數據

var arr = []; 
arr[0] = []; 
arr[0][0] = []; 
arr[0][0][0] = []; 
arr[0][0][0][0] = []; 

,並指派值使用此代碼

arr[0] = 1; 
arr[0][0] = 2; 
arr[0][0][0] = 3; 
arr[0][0][0][0] = 4; 
arr[0][0][0][0][0] = 5; 
alert("arr ==> " + arr); 

但它給輸出僅以1,但所需的輸出爲1,2,3,4,5

當我這樣做alert(arr[0][0]);所需的輸出是2但它給undefined

感謝您的幫助。

+1

JavaScript沒有在你的思維方式多維數組。它的嵌套數組就像嵌套對象一樣(因爲數組只是對象)。 –

+0

即使您的「多維數組」*以您想要的方式填充,它也不會輸出「1,2,3,4,5」。這就是說,JavaScript不是PHP。很可能你正在使用錯誤的數據結構。 – Tomalak

+0

@Tomalak感謝您的回覆。你能告訴我如何以我想要的方式設置數據。 –

回答

4

你覆蓋你的價值觀:

arr[0] = []; 
... 
arr[0] = 1; // this also blows away arr[0][0], arr[0][0][0], etc 

所以......

arr[0][0] = 1; 
== 
1[0] = 1; 

什麼究竟你想幹什麼?

+0

我想將零點位置的值設置爲5維。 –

+2

你不能讓'arr [0]'既是零也是一個數組。這是什麼目的? –

1
var arr = []; 
arr[4] = []; 

arr[0] = 1; 
arr[1] = 2; 
arr[2] = 3; 
arr[3] = 4; 
arr[4] = 5; 

alert("arr ==> " + arr); 

我希望這能解決您的問題。

提醒如

arr ==> 1,2,3,4,5