2013-08-23 53 views
0

我試圖在ActionScript 3.0AS3:創建2dimension陣列

var arr:Array = new Array(); 

arr[0][0] = "Hello"; 
arr[0][1] = "Ali"; 

trace(arr[0][0]); 
trace(arr[0][1]); 

但低於錯誤有可能創造一個非常簡單的二維數組來了:

一個術語是不確定的,沒有屬性。

請告訴我我做錯了什麼。

回答

4

你必須添加一個額外的陣列,用於與第一尺寸:

arr[0] = []; 
arr[0][0] = "Hello"; 
arr[0][1] = "Ali"; 
+0

謝謝。它像一個魅力。請解釋一下這部分'arr [0] = []'我無法理解它。 –

+3

@HamedKamrava,在位置'0'處,數組現在包含另一個數組('[]'與'new Array()')類似。所以你有一個數組的數組。 – rid

+0

多維數組是一個數組的嵌套結構數組。您需要創建間歇圖層對象以創建多維數組。 – Vesper

2

這條線:

var arr:Array = new Array([3], [3]); 

是創建包含兩個陣列,其中的每一個具有包含數一個元素的數組這意味着當你到達第三次迭代時,multiArr [i]是未定義的。這顯然是如何在AS31

定義數組的誤解所以你只要請參閱本LINK

Problem with 2d Array in AS3