Javascript 将对象数组转换为两个数组的对象-tyepscript

Javascript 将对象数组转换为两个数组的对象-tyepscript,javascript,arrays,typescript,ecmascript-6,Javascript,Arrays,Typescript,Ecmascript 6,我有一个对象的输入数组 [ { col1: 'col1value1', col2: 'col2value1', col3: col1value3}, { col1: 'col1value2', col2: 'col2value2', col3: col1value2} ] 现在我想把它转换成两个数组的对象,如下所示 columns:["col1" , "col2","col3"], data: ["col1value

我有一个对象的输入数组

[
  { col1: 'col1value1', col2: 'col2value1', col3: col1value3},
  { col1: 'col1value2', col2: 'col2value2', col3: col1value2}
]
现在我想把它转换成两个数组的对象,如下所示

columns:["col1" , "col2","col3"],
data: ["col1value1","col2value1" , "col1value3"] ,
      ["col1value2","col2value2" , "col1value2"]
有什么好办法还是更快的办法。当我试图在所有值上使用2 foreach循环并创建列和数据数组时,使用
Object.keys()
方法获取所有列,并使用
array.prototype.map
方法遍历数组并使用
Object.values()
方法获取值

const输入=[
{col1:'col1value1',col2:'col2value1',col3:'col1value3'},
{col1:'col1value2',col2:'col2value2',col3:'col1value2'},
];
const columns=Object.keys(输入[0]);
const data=input.map((x)=>Object.values(x));
console.log(列);
控制台日志(数据)
您可以使用
Object.keys(您的列表[0])
,假设所有对象都有相同的键。然后需要在数组上循环以获取值(可以使用
Object.values()
)。