2つの配列をindexを基準に合成する方法
単純に配列の後ろに追加する場合
例えば...
array_a = [ "a", "b", "c", "d" ] array_b = [ 1, 2, 3, 4 ]
という2つの配列があるとします。
単純に後ろに繋ぎたい場合は...
array_a.push(array_b) => [ "a", "b", "c", "d", [ 1, 2, 3, 4 ] ] #pushだけだと連想配列になるので注意 array_a.flatten! p array_a => [ "a", "b", "c", "d", 1, 2, 3, 4 ]
とすればOKです。
2つの配列をindexを基準に合成する場合
上記のケースでいった場合は
[ [ "a", 1 ], [ "b", 2 ], [ "c", 3 ], ["d", 4 ] ]
という感じで配列ごとのindexを基準に新しい配列を作成したい場合はどうすればいいのでしょうか?
そんな時はzip
を使えば良いです!
array_a.zip(array_b) => [ [ "a", 1 ], [ "b", 2 ], [ "c", 3 ], ["d", 4 ] ]
あまり使用することのないケースだと思いますが覚えておくと便利かも?