Javascript 使用lodash的concat多个二维阵列

Javascript 使用lodash的concat多个二维阵列,javascript,lodash,Javascript,Lodash,我有多个二维数组,我希望将其合并为单个二维数组: var data = [ [["x"], ["value1"], ["value2"], ["valu3"]], [["data1"], [0], [1], [2]], [["data2"], [2], [1], [0]] ]; 通缉结果: var result = [ ["x", "data1", "data2"], ["value1", 0, 2], ["value2", 1, 1], ["value3", 2,

我有多个二维数组,我希望将其合并为单个二维数组:

var data = [
  [["x"], ["value1"], ["value2"], ["valu3"]],
  [["data1"], [0], [1], [2]],
  [["data2"], [2], [1], [0]]
];
通缉结果:

var result = [
  ["x", "data1", "data2"],
  ["value1", 0, 2],
  ["value2", 1, 1],
  ["value3", 2, 0]
];
到目前为止,我尝试使用apply压缩和压缩,但我无法得到我想要的结果:

var数据=[
[“x”]、[“value1”]、[“value2”]、[“Value3”],
[[“数据1”],[0],[1],[2],
[[“数据2”]、[2]、[1]、[0]]
];
var结果=u.zipWith.apply(u,u.concat(数据))
console.log(结果)

使用常规ES6 javascript怎么样

const数据=[
[
['x'],
['value1'],
['value2'],
['valu3'],
],
[
['data1'],
[0],
[1],
[2],
],
[
['data2'],
[2],
[1],
[0],
],
];
const ret=data.map(x=>x.reduce((tmp,y)=>[
…tmp,
Y
], []));

控制台日志(ret)您想要的是扁平化。Lodash具有该功能的3个版本

const result = _.zip.apply(null, data).map(_.flatten)

你可以转换矩阵

var数据=[[“x”]、[“value1”]、[“value2”]、[“value3”]、[[“data1”]、[0]、[1]、[2]、[[“data2”]、[2]、[1]、[0]],
结果=数据
.reduce((r,a)=>a.map(([v],i)=>(r[i]| |[])。concat(v)),[]);
控制台日志(结果)

.as控制台包装{max height:100%!important;top:0;}
使用ES6
解构
和lodash
.zip
.map
展平
的简明解决方案:

var数据=[[“x”]、[“value1”]、[“value2”]、[“value3”]、[[“data1”]、[0]、[1]、[2]、[[“data2”]、[2]、[1]、[0]]
var result=u0.zip(…0.map(数据,0.flant))
console.log(结果)

使用
lodash
变换矩阵就这么简单:

\uu.zipWith(…数据,\uu.concat)

var数据=[
[“x”]、[“value1”]、[“value2”]、[“Value3”],
[[“数据1”],[0],[1],[2],
[[“数据2”]、[2]、[1]、[0]]
]
var res=u.zipWith(…数据,u.concat);
控制台日志(res)

请添加想要的结果。@Nina Scholz他在变量
result
后面的代码段中添加了想要的结果。想要的结果仍然是一个多维数组…Adriani:对不起,我的问题中有一个输入错误。对不起,这不是我想要的结果want@BelowtheRadar与想要的结果完全相同仔细查看question@BelowtheRadar“谢谢你!这就是我一直在寻找的解决方案@下面是我编辑的帖子,希望这就是你想要的:)非常感谢ES5的答案。我仍然需要在我的组织中支持IE11…:/@下面我为你感到很抱歉:我感到羞愧,这不是我想要的结果。问题中我想要的结果有一个错误…你能用问题中的数据添加一个工作片段吗?然后我会接受你的答案。在这里,我在答案中添加了工作片段和你的数据(在问题中提供)。然而,我并没有要求你接受我的回答,你应该接受最好的解决方案(无论哪一个),以帮助社区和用户。