@prefecture_array = [ id: 1, name: "北海道"], [ id: 5, name: "東京"]
@city_array = [id: 35, prefecture_id: 2, name: "札幌"], [ id: 49, prefecture_id: 10, name: "浜松"], [ id: 51, prefecture_id: 15, name: "神戸"]
上記の配列があり、
@prefecture_arrayのidと、@city_arrayのprefecture_idを調べて、1~順にソートしたいのですが、(この場合は北海道、札幌、東京、浜松、神戸の順に)下記の方法で試していますが、上手くソートができません。
どなたか方法が分かります方、お教え頂けませんでしょうか?
ruby
1 all_array = [] 2 @prefecture_array.each do |prefecture| 3 @area_group_array.each do |area_group| 4 if prefecture.id <= area_group.prefecture_id 5 all_array << prefecture 6 elsif area_group.prefecture_id < prefecture.id 7 all_array << area_group 8 end 9 end 10 @all_array = all_array 11 end 12 13また、 14 15 all_array = [] 16 @prefecture_array.zip(@area_group_array).each do |prefecture, area_group| 17 if prefecture.id <= area_group.prefecture_id 18 all_array << prefecture 19 elsif area_group.prefecture_id < prefecture.id 20 all_array << area_group 21 end 22 end 23 @array = all_array
回答2件
あなたの回答
tips
プレビュー