【问题标题】:Change structure of an array of arrays [closed]更改数组数组的结构[关闭]
【发布时间】:2025-12-28 03:05:13
【问题描述】:

我有以下数组:

[
  [
     {
        a: "AA", 
        b: "BB"
     },
     {
        a: "AA", 
        c: "CC"
     },
     {
        a: "AA", 
        d: "DD"
     },
     {
        a: "AA", 
        e: "EE"
     }
  ],
  [
     {
        a: "AA_2", 
        b: "BB_2"
     },
     {
        a: "AA_2", 
        c: "CC_2"
     },
     {
        a: "AA_2", 
        d: "DD_2"
     },
     {
        a: "AA_2", 
        e: "EE_2"
     }
  ]
]

所以它是一个包含两个长度为 4 的数组的数组。

我想把它转换成如下格式:

[
  {
   b: "BB", c: "CC", d: "DD", e: "EE" 
  },
  {
   b: "BB_2", c: "CC_2", d: "DD_2", e: "EE_2" 
  }
]

我希望最终的数组包含两个对象。

谢谢!

【问题讨论】:

  • 你试过了吗?如果您尝试过,请向我们展示代码。
  • 到目前为止你有什么尝试?

标签: javascript arrays reactjs ecmascript-6 pivot


【解决方案1】:

你没有说清楚你真正想从主题数组中过滤什么,所以我只是假设你想用键“a”排除主键值。

var a = subject;
var out = ['a'];
var r = [];
for(var i in a){
 var ai = a[i];
 var o = {};
 for(var ii in ai){
   var aii = ai[ii];
   for(var k in aii){
     if(out.indexOf(k) == -1) o[k] = aii[k];
   }
 }
 r.push(o);
}
console.log(r);

【讨论】: