🐷

💎Ruby 2つの配列を対応付けて多次元配列にまとめる

に公開

🎯 サンプルコード

test1 = [1, 2, 3]
test2 = ["田中", "佐藤", "松本"]

result = test1.zip(test2)

puts result.inspect
# => [[1, "田中"], [2, "佐藤"], [3, "松本"]]

💡 ポイント解説

  • zip メソッド
    複数の配列を要素ごとに組み合わせて、新しい配列を返します。
[1,2,3].zip(["A","B","C"])
# => [[1,"A"], [2,"B"], [3,"C"]]
  • 要素数が合わない場合は nil が入るので注意👇
[1,2].zip(["A","B","C"])
# => [[1, "A"], [2, "B"], [nil, "C"]]

✅ 応用:ハッシュにする場合

もし [1, "田中"] をキー・バリューにしたいなら:

hash_result = test1.zip(test2).to_h
puts hash_result.inspect
# => {1=>"田中", 2=>"佐藤", 3=>"松本"}

🎯 結論

  • 配列を対応づけて多次元配列にするzip
  • さらにハッシュ化.to_h

📘参考
https://docs.ruby-lang.org/ja/latest/method/Array/i/zip.html

Discussion