次のような配列があります。
[
{"timestamp" => 1347119549, "category" => nil},
{"timestamp" => 1347119547, "category" => "Monkeys"},
{"timestamp" => 1347119543, "category" => nil},
{"timestamp" => 1347119542, "category" => "Monkeys"}
]
カテゴリが nil でない限り、タイムスタンプ (降順) で並べ替えたいと思います。その場合、未分類のエントリよりも「古い」にもかかわらず、「兄弟」と一緒に表示されるはずです。この配列をソートする必要があるため、次のようになります。
[
{"timestamp" => 1347119549, "category" => nil},
{"timestamp" => 1347119547, "category" => "Monkeys"},
{"timestamp" => 1347119542, "category" => "Monkeys"},
{"timestamp" => 1347119543, "category" => nil}
]
group_by
と を使用して正しい結果を得る方法を見つけようとしsort
ていますが、成功していません。