2017-04-05 23 views
0

我有一個不可變列表數組array = [List,List] 每個列表都包含Maps。我想創建一個包含每個列表的地圖的數組。我的代碼如下:在es6中創建多維地圖陣列

const content = []; 
    for (let i = 0; i < types.length; i += 1) { 
     let j = 0; 
     while (j < types[i].length) { 
     content[i] = types[i].get(j); 
     j += 1; 
     } 
    } 

但是當我console.log這顯示我一個空的數組。所需的輸出應該是這樣的內容[0] = [地圖,地圖,地圖,地圖]內容[1] = [地圖,地圖,地圖,地圖]

+0

您是否添加了'console.log()'或斷點以確保您的兩個循環實際上都在運行?還請顯示'types'包含的內容。 – Ryan

+0

我使用控制檯日誌是,循環正在運行。類型數組是types = [List,List] – user7334203

+0

@ user7334203'toArray()'方法在將List轉換爲數組時可能會有用? https://facebook.github.io/immutable-js/docs/#/List/toArray。這樣,你不會需要你的while循環。 –

回答

1

問題中的JavaScript覆蓋content[i]while循環; content[i]不是數組。在while循環之前將content[i]定義爲數組,並在while循環內使用.push()

const content = []; 

for (let i = 0; i < types.length; i += 1) { 
    let j = 0; 
    content[i] = []; 
    while (j < types[i].length) { 
    content[i].push(types[i].get(j)); 
    j += 1; 
    } 
}