/ / 2D配列の各項目をナビゲートするにはどうすればよいですか? - 配列、ルビー

2D配列の各アイテムをどのようにナビゲートするのですか? - 配列、ルビー

だから、あなたは2D配列をナビゲートすることができます。

arr1.each do |a1|
a1.each do |a2|
puts a2

しかし、私がやろうとしていることは少し異なります。配列に2セットの値が格納されているので、それらを循環させて情報からドロップダウンメニューを作成できるようにします。

だから私は次のようなデータを持っている:

names = ["bob", "frank", "tim"]
id = [1, 2, 3]

次のようなメソッドから配列で返されます:

def method_name
#stuff
return names, id
end

私がこのビューでできるようにしたいのは、対応するインデックスを互いにペアにすることです。したがって、上記の例では、 bob-1 frank-2 tim-3 私はそれを理解しているように思えることはできません。スライスしたりネストしたループを試したり、配列の代わりにハッシュを返したりしてみました。

誰かが私がそれをやろうとしているやり方や、もっと簡単なやり方で情報を引き出す方法に関する情報を持っていれば、私は本当に入力を感謝します。

回答:

回答№1は0

これは、インデックスの繰り返しが役に立つRubyのまれなケースです。

(0...names.size).map do |idx|
"#{names[idx]}-#{id[idx]}"
end

回答№2については2

names.zip(id).map { |e| e.join("-") }

zip 2つの配列を以下のような配列の配列に結合します:

[["bob", 1], ["frank", 2], ["tim", 3]]

map 外部配列の3つの要素のそれぞれをループし、2つの要素を一緒にダッシュで結合することによって各内部配列を文字列に変換します join.

見る ジップ, 地図、および 参加する ドキュメンテーション。

一般的に言えば、Rubyで配列操作を研究するときは、ArrayとEnumerableの両方のドキュメントを見たいと思うでしょう。