0

次のような月の配列がある場合:

["05", "06", "07", "08", "09", "10", "11", "12", "01", "02", "03", "04", "05"]

そして、月の値と month_sum のハッシュ:

[{"month"=>5, "month_sum"=>20}, {"month"=>4, "month_sum"=>100}]

ハッシュを配列にマージして、次のようなものを取得するにはどうすればよいですか?

[{"05" => 20}, {"07" => 0}, {"08" => 0}, {"09" => 0}, {"10" => 0}, {"11" => 0}, {"12" => 0}, {"01" => 0}, {"02" => 0}, {"03" => 0}, {"04" => 100}, {"05" => 0}, {"06" => 0}]

編集

月配列は以下から生成されます。

date_from  = Date.parse(params[:search][:date_from])
date_to    = Date.parse(params[:search][:date_to])
date_range = date_from..date_to

date_months = date_range.map {|d| Date.new(d.year, d.month, 1) }.uniq
@date_range = date_months.map {|d| d.strftime "%m" }

したがって、2 年の期間など、範囲を超えた場合、配列の月の値が重複することに注意してください。その配列に年を追加する必要があると思いますか?

これを行うより良い方法はありますか?

ここでの最終目標は、ハイチャートのハッシュまたは配列を取得して、特定の車両の毎月の燃料使用量の合計を表示することです。(コンテキストがあるように)。

4

1 に答える 1