這個問題很容易通過手動循環和結果數組解決,您可以隨時添加。但是我正在尋找一個更加ruby式的解決方案,可能是使用注入或選擇的東西。問題如下:聰明的方法來獲得每個組中的第二項哈希數組?
arr_of_hashes = [
{id: 1, val: "blah1"},
{id: 1, val: "blah2"},
{id: 1, val: "blah3"},
{id: 2, val: "blah4"},
{id: 2, val: "blah5"},
{id: 3, val: "blah6"},
{id: 3, val: "blah7"},
{id: 3, val: "blah8"},
{id: 3, val: "blah9"}
]
「組」由散列中的「id」字段定義。我們保證每個小組至少有兩個項目。我們要返回包含每個組的第二項的數組:
output_should_be = [
{id: 1, val: "blah2"},
{id: 2, val: "blah5"},
{id: 3, val: "blah7"}
]
很不錯的。我幾乎沒有發佈我的'group_by'解決方案,因爲你用'chunk'解決方案打敗了我。我應該記得'chunk'。 –