Эй, у меня есть массив, где каждый элемент хэш, содержащий несколько значений и количество.
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)) Is есть элегантный способ сделать это? Итак, в качестве примера, пусть n = 1, я бы ожидал набора результатов.
[{"count" => 10,"name" => "user2"}, {"count" => 10, "user3"}]
так как я попросил все записи с наивысшим баллом.. если бы я попросил 2 лучших балла, я бы получил
[{"count" => 10,"name" => "user2"}, {"count" => 10, "user3"}, {"count" => 3, "user1"}]