【问题标题】:Sort array of hash by key in descending order in Ruby [closed]在Ruby中按降序对哈希数组进行排序[关闭]
【发布时间】:2016-11-16 16:00:00
【问题描述】:

这是我的输入哈希:

h = [
  {user_id: 1, bookings_nd: 3}, 
  {user_id: 2, bookings_nd: 10}, 
  {user_id: 3, bookings_nd: 2}
]

我需要按“bookings_nd”而不是“user_id”的降序对结果进行排序。我希望它看起来像这样:

h = [
  {user_id: 2, bookings_nd: 10}, 
  {user_id: 1, bookings_nd: 3},
  {user_id: 3, bookings_nd: 2}
]

怎么做?

【问题讨论】:

  • 最好不要调用你的数组h,因为这通常是为哈希保留的。
  • 我们希望看到您为解决问题所做的努力。没有它,您似乎希望我们编写您的代码。请阅读“How to Ask”(包括链接页面)和“minimal reproducible example”。

标签: ruby-on-rails ruby


【解决方案1】:

你可以的

h.sort_by! { |k| -k[:bookings_nd] }

h.sort_by! { |k| k[:bookings_nd] }.reverse!

我猜这个问题与Sorting an array in descending order in Ruby 重复

【讨论】:

    猜你喜欢
    • 2012-10-24
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 2014-03-05
    相关资源
    最近更新 更多