Javascript 转换多维数组并重新组织数组值

Javascript 转换多维数组并重新组织数组值,javascript,Javascript,我想为下面的内容提供一些指导。我希望从以下内容转换此数组: [['a'], ['a1', 'a2'], ['b'], ['b1', 'b2', 'b4', 'b9']] 对这样的事情: [['a', 'a1', 'a2'], ['b', 'b1', 'b2', 'b4', 'b9']] a | b --------- a1 | b1 a2 | b2 | b4 | b9 所以我可以得到这样一张桌子: [['a', 'a1', 'a2'], ['b', 'b1', 'b

我想为下面的内容提供一些指导。我希望从以下内容转换此数组:

[['a'], ['a1', 'a2'], ['b'], ['b1', 'b2', 'b4', 'b9']]
对这样的事情:

[['a', 'a1', 'a2'], ['b', 'b1', 'b2', 'b4', 'b9']]
 a  | b
---------
a1  | b1
a2  | b2
    | b4
    | b9
所以我可以得到这样一张桌子:

[['a', 'a1', 'a2'], ['b', 'b1', 'b2', 'b4', 'b9']]
 a  | b
---------
a1  | b1
a2  | b2
    | b4
    | b9
有可能吗?如果您能以ES6格式完成,这将是一个额外的奖励

您需要两个步骤:
  • 通过将所需的空值推入数组,使其成为方形矩阵

  • 换位行和列

  • 样本:

    函数myFunction(){
    var array1=[[a1',a2'],[b1',b2',b4'];
    log(array1.map(row=>row.length))
    var maxColumnNumber=Math.max(…array1.map(row=>row.length))
    console.log(maxColumnNumber)
    数组1.forEach(函数(第一行){
    if(row.length
    所以。。。基本上,您将数据组织为[[标题],[行]]

    我想这样做会奏效的

    const input=[[a']、[a1'、[a2']、[b']、[b1'、[b2'、[b3'];
    常量输出=[];
    while(true){
    常量[header]=input.shift()| |[];
    如果(!页眉)断裂;
    const rows=input.shift()| 124;[];
    如果(!rows.length)中断;
    push([标题,…行]);
    }
    
    控制台日志(输出)我能问一下array2会发生什么情况吗?我们不再使用它了?您的数组2似乎格式正确,所以如果我的理解正确,您不需要转置行和列。好的。有道理。我会试试看。thanksi更新了这个问题,因为我可以在array1中获得array2中以前的值。希望这比以前更清楚。以防万一,如果您需要更新任何内容。那么脚本如何知道
    ['a']
    ['a1','a2']
    是要连接的呢?因为它总是第一排和第二排?