【问题标题】:Merge two array in one array (element need to merge too) [closed]将两个数组合并到一个数组中(元素也需要合并)[关闭]
【发布时间】:2017-08-25 15:38:05
【问题描述】:

我想合并数组,如下所示:

做到这一点的最短/最干净的方法是什么?有没有办法使用reduce或map?

PS:绿色数组将始终具有相同的大小

输入

[
  [
    ["X"],
    ["A"],
    ["B"],
    ["C"],
    ["D"]
  ],
  [
    ["Y", "Z"],
    [1, "M"],
    [2, "a"],
    [3, "p"],
    [4, "?"]
  ]
]

我想要的输出

[
  ["X", "Y", "Z"],
  ["A", 1, "M"],
  ["B", 2, "a"],
  ["C", 3, "p"],
  ["D", 4, "?"]
]

【问题讨论】:

标签: javascript arrays merge


【解决方案1】:

只需映射其中一个数组并将concat 与另一个数组映射即可。

var array1 = [
  ["1"],
  ["2"],
  ["3"]
];
var array2 = [
  ["A", "B"],
  ["R", "S"],
  ["x", "y"]
];

function mergeArrays(arr1, arr2) {
  return arr2.map((item, index) => {
    return arr1[index].concat(item);
  });
}

console.log(mergeArrays(array1, array2));

【讨论】:

  • 我只是用 reduce 替换你的合并数组,以便能够拥有尽可能多的绿色数组,但是是的,这解决了我的问题,谢谢 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
  • 2018-04-27
  • 2013-09-26
  • 1970-01-01
相关资源
最近更新 更多