2017-08-25 24 views
0
私はのような配列をマージしたい

1列に2つの配列をマージ(要素があまりにもマージする必要があります)

enter image description here

はそれを行うための最短/クリーンな方法は何ですか?削減やマップの方法はありますか?

PS:グリーン配列は常に同じサイズになります

私はアレイの1つおよび他とのconcatそれを上にマッピング

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

(https://stackoverflow.com/help/how-to-ask)と、該当する場合、[[I **は良い質問をするにはどうすればよいです**]を見てください**最小限で完全で検証可能なサンプルを作成する方法**](https://stackoverflow.com/help/mcve) - このコードをここに直接投稿してください。問題のデモをご覧ください。 – Nope

+0

少なくとも色の意味を説明してください。 –

+0

カラーは配列を表しています –

答えて

0

をしたい入力

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

出力アレイ。

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));

+0

私はあなたのマージ配列をreduceで置き換えて、必要な数だけ緑色の配列を持つことができますが、これは私の問題を解決しました。 –

関連する問題