🐷
💎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
📘参考
Discussion