在Javascript中将数组对象转换为数组数组

在Javascript中将数组对象转换为数组数组,javascript,Javascript,我有一个如下所示的对象,但我需要将其转换为如下所示的数组: object = { 'AAA' : [1, 2, 3], 'BBB' : [4, 5, 6] } 可以传递到我正在使用的excel库 在Javascript中转换这种格式的好方法是什么?以下是一种基于解决方案的简洁方法: var对象={ “AAA”:[1,2,3], ‘BBB’:[4,5,6] }; const arr=[Object.keys(Object),Object.va

我有一个如下所示的对象,但我需要将其转换为如下所示的数组:

object = {
          'AAA' : [1, 2, 3],
          'BBB' : [4, 5, 6]
      }
可以传递到我正在使用的excel库


在Javascript中转换这种格式的好方法是什么?

以下是一种基于解决方案的简洁方法:

var对象={
“AAA”:[1,2,3],
‘BBB’:[4,5,6]
};
const arr=[Object.keys(Object),Object.values(Object)[0].map((col,i)=>Object.values(Object.map)(row=>row[i]);

控制台日志(arr)您可以获取对象的键,然后对键的外部迭代和值的内部迭代采用嵌套方法

然后分配一个新数组(如果没有给定),并获取外部数组的索引以分配值。稍后,使用键作为第一个数组来解析结果

var object={AAA:[1,2,3],BBB:[4,5,6,8]},
键=对象。键(对象),
数组=[keys].concat(keys.reduce((r,k,j)=>{
对象[k].forEach((v,i)=>(r[i]=r[i]| |[])[j]=v);
返回r;
}, []));
console.log(数组)
。作为控制台包装{最大高度:100%!重要;顶部:0;}
输出:

var obj = {
          'AAA' : [1, 2, 3],
          'BBB' : [4, 5, 6]
      };

const result = [Object.keys(obj)];
result.concat(obj[Object.keys(obj)[0]].reduce((acc, ele, i)=>{
  acc.push([ele,obj[Object.keys(obj)[1]][i]]);
  return acc;
},[]));

给定场景的解决方案:
const objj={
“AAA”:[1,2,3],
‘BBB’:[4,5,6]
}
常量getFormattedArray=(objJ)=>{
常量格式化=[]
常量键=Object.keys(objJ)
常量值=对象值(objJ)
常量[val1,val2]=[…值]
格式化。按(键)
getFormattedChild(val1,val2).forEach(项=>{
格式化。推送(项目)
})
返回格式
}
const getFormattedChild=(a,b)=>{
让blob=[]
for(设i=0;i


为初学者自己努力。。。有关如何转置二维阵列的信息,请参见。使解决方案适应包含数组的对象应该非常简单。如果我为
BBB
再设置一项会怎么样?现在看来
BBB
中的另一个
8
将附加到第四个数组的第一个元素。我改为在索引处赋值,而不是按值。您可能会得到长度不同的稀疏数组。
const arr = [Object.keys(object), Object.values(object)[0].map((col, i) => Object.values(object).map(row => row[i]))];
var obj = {
          'AAA' : [1, 2, 3],
          'BBB' : [4, 5, 6]
      };

const result = [Object.keys(obj)];
result.concat(obj[Object.keys(obj)[0]].reduce((acc, ele, i)=>{
  acc.push([ele,obj[Object.keys(obj)[1]][i]]);
  return acc;
},[]));
[ [ 'AAA', 'BBB' ], [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ]