0

如何在javascript中創建一組動態數組,以形成數組的層次結構?我希望這個動態工作。如何創建始終存在的根數組,以及動態創建的每個新數組,都將嵌套在前一個數組中以形成一個層次結構。在javascript中嵌套數組的層次結構

+0

你嘗試過什麼?另外,看看這是否相關http://stackoverflow.com/q/12287490/1615483 –

回答

0

......你知道這些陣列究竟發生了什麼,或者他們知道他們有多大或多深?

你在說只有索引數組或具有命名屬性的對象嗎?

如果你想要的是數組:

var rootArr = [], 
    rootArr[0] = [[],[]], 
    rootArr[1] = [[ [],[],[ [] ], ]]; 

所以,現在你已經有了數組嵌套,如:

[ 
    [ 
     [], 
     [] 
    ], 
    [ 
     [ 
      [], 
      [], 
      [ 
       [] 
      ] 
     ] 
    ] 
]; 

正如你可能會看到,你可以愉快地去建設越陷越深陣列。 如果你想動態地做到這一點,你可以在for循環中創建它們,如果你知道你的值,或者遞歸函數,如果你有支票...

請記住,雖然,訪問數據這些裏面會吸吮。

要獲取最深的數組,你必須去:

rootArr[1][0][2][0]; //just to access the array 
        //then you'd need the index of whatever was inside... 
+0

好吧,這看起來不錯。我想我會要求具有命名屬性的對象。我想使用數組和它們的層次結構來作爲樹結構中的節點。如在http://bl.ocks.org/1249394。每個數組的內容應代表節點,並顯示某種數據或字符串。我不打算讓我的幾乎像這樣複雜,我會說每陣列最多5個值。另外,我非常喜歡這個,我想動態地做到這一點,你可以展示我可能需要的for循環的一個小例子。會真的很感激它:) – user1684586

相關問題