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