2017-04-05 20 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; 
    } 
}