ruby-on-rails – 使用基于特定键的哈希元素对数组进行排序

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用基于特定键的哈希元素对数组进行排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How do I sort an array of hashes by a value in the hash?4个
@cases => [{"name"=>"25 Cases per 60 day","count"=>0},{"name"=>"30 Cases for 60 days","count"=>8},{"name"=>"10 Cases per 60 days","count"=>5}]

如果我有一个包含先前结果的对象,我如何按DESC顺序排序?
为了得到我做的实例变量案例

ClassName.all.collect{|e| {'name' => e.name,'count' => e.contracts.count}}

解决方法

sorted = @cases.sort_by{ |hash| hash['count'] }.reverse
sorted = @cases.sort_by{ |hash| -hash['count'] }
sorted = @cases.sort_by{ |hash| -(hash['count'] || 0) }

第一个是最简单的.

第二个是我会做的.

第三个是如果某些哈希值缺少“计数”值,你可以做什么.

猜你在找的Ruby相关文章