【问题标题】:Sort an array with hash elements based on a specific key [duplicate]基于特定键对具有哈希元素的数组进行排序[重复]
【发布时间】:2014-01-30 17:50:46
【问题描述】:
@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 顺序按 count 排序? 为了得到实例变量cases我做了

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

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-3


【解决方案1】:
sorted = @cases.sort_by{ |hash| hash['count'] }.reverse
sorted = @cases.sort_by{ |hash| -hash['count'] }
sorted = @cases.sort_by{ |hash| -(hash['count'] || 0) }

第一个是最简单的。

第二个是我会做的。

第三个是如果某些散列缺少“计数”值,您可以做什么。

【讨论】:

  • 工作就像一个魅力,谢谢!一定要爱上这个社区。​​span>
猜你喜欢
  • 2015-04-13
  • 1970-01-01
  • 2013-03-21
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
相关资源
最近更新 更多