【发布时间】:2013-11-06 05:22:07
【问题描述】:
我有一个对象数组,其中一个字段是这些对象的“分数”。
我知道如何获取具有最大值的对象:
array.max_by do |element|
element.score
end
但是我如何获得得分最高的 N 个(例如 3 个)对象(有序)?考虑到数组的元素可能少于 N 个。
已编辑:
所以,例如:
[{score:10}, {score:5}, {score:7}, {score:8}] 和 N=3
应该返回:[{score:10}, {score:8}, {score:7}]
【问题讨论】: