嘿,我有一个数组,其中每个元素都是一个哈希,包含一些值和计数。
result = [
{"count" => 3,"name" => "user1"},
{"count" => 10,"name" => "user2"},
{"count" => 10, "user3"},
{"count" => 2, "user4"}
]
我可以按计数对数组进行排序,方法如下:
result = result.sort_by do |r|
r["count"]
end
现在我想根据计数(而不仅仅是 first(n))检索前 n 个条目。有一种优雅的方法可以做到这一点吗?
例如,假设 n = 1,我期望得到以下结果集。
[{"count" => 10,"name" => "user2"}, {"count" => 10, "user3"}]
因为我要求所有得分最高的条目.. 如果我要求前两个最高分数,我会得到
[{"count" => 10,"name" => "user2"}, {"count" => 10, "user3"}, {"count" => 3, "user1"}]