前提
rubyに関する質問です。
group_byしたデータをいつの配列にまとめ、かつ不要なデータを削除したい。
実現したいこと
カリキュラムの学習時間ごとにグループ化して表示させたい。
curriculum=[
[math,2]
[arithmetic,2]
[science,3]
]
を
[
{:hour=>2, :curriculum=>[math,arithmetic]},
{:hour=>3, :curriculum=>[science]},
]
と変えたい。
該当のソースコード
curriculum=[ [math,2] [arithmetic,2] [science,3] ] group_curriculum = curriculum.group_by{|a|a[1]} #group_curriculumには 2=>[[math,2],[arithmetic,2]],3=>[[science,3]] が入っていることを確認 group_curriculum.map do |hour,curriculum| a=[] b={:hour => hour, :curriculums => curriculum} puts b end #bには {:hour. => 2, :curriculums =>[[math,2],[arithmetic,2]]} {:hour. => 3, :curriculums =>[[science,3]} と出る
### どのように変えたいのか
最終的に
{:hour. => 2, :curriculums =>[[math,2],[arithmetic,2]]}
{:hour. => 3, :curriculums =>[[science,3]}
ではなく
[
{:hour=>2, :curriculum=>[math,arithmetic]},
{:hour=>3, :curriculum=>[science]},
]
と、hourでグループ化した、curriculumsの配列をくっつけて、さらに、curriculumの中にあるhourを削除したい;

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/09 16:10
2022/10/09 16:15