我無法理解如何來解決這個問題,基本上我有兩個數組看起來像:紅寶石:合併數組或哈希
第一陣列:
days_to_report
#=> [{:date=>Fri, 01 Apr 2011},
#=> {:date=>Sat, 02 Apr 2011},
#=> {:date=>Sun, 03 Apr 2011},
#=> {:date=>Mon, 04 Apr 2011}]
二陣:
tracks_by_day
#=> [{:date=>Mon, 04 Apr 2011, :count=>905, :percentage=>13.205895228367137},
#=> {:date=>Sat, 02 Apr 2011, :count=>6745, :percentage=>98.4240478622501},
#=> {:date=>Fri, 01 Apr 2011, :count=>6853, :percentage=>100.0}]
日期是Date
在這種情況下的對象。
所以我想合併它們,這樣對於第一個數組中的每個項目(days_to_report
),都有第二個數組也有數據,就像理想的輸出是:(注意數據的日期孫,03公寓2011)
[{:date=>Mon, 04 Apr 2011, :count=>905, :percentage=>13.205895228367137},
{:date=>Sun, 03 Apr 2011, :count=>0, :percentage=>0},
{:date=>Sat, 02 Apr 2011, :count=>6745, :percentage=>98.4240478622501},
{:date=>Fri, 01 Apr 2011, :count=>6853, :percentage=>100.0}]
注意,數組的第二項有值爲零,因爲:date
是不是在哈希爲tracks_by_day
陣列...任何想法如何做到這一點?這看起來像zip
中提供的功能,但我需要匹配鍵以查看它們是否存在,如果它們不存在,則填零。
我希望我正確地描述這個,再次感謝你們!舉手擊掌!
萬一有人需要它:要將其轉換爲日期映射到他們的數據的哈希,你可以只是做'tracks_by_day.group_by {|軌道|軌道[:日期]}'。 – Chuck 2011-04-05 00:32:16