ruby-on-rails - 根据特定键对具有散列元素的数组进行排序

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

这个问题在这里已经有了答案:





How do I sort an array of hashes by a value in the hash?

(4 个回答)


7年前关闭。



@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}]

如果我有一个包含先前结果的对象,我如何按 count 排序按 DESC 顺序?
获取实例变量cases我做了
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-on-rails - 根据特定键对具有散列元素的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21463879/

相关文章:

ruby-on-rails - Capybara::ElementNotFound:无法找到文件字段 "file"

ruby-on-rails - jQuery .on() 不适用于 jquery-ujs

ruby-on-rails-3 - Heroku 上的 Rails 应用程序发送电子邮件错误

ruby-on-rails - Rails - 查找用户的所有项目

ruby-on-rails - 简单形式的 Rails 3.2 嵌套路由

ruby-on-rails - rails : undefined method `relationships_path'

javascript - Ember-cli require ("my_app/app") ["default"].create 不是函数

ruby-on-rails - PayPal IPN 未连接取消定期计费

ruby-on-rails - 在 Rails 表单错误消息中显示链接

ruby-on-rails - 使用 RVM 安装时找不到 Rails 命令行