按键排序哈希数组,在Ruby中返回降序

Hug*_*emy 0 ruby ruby-on-rails

我的输入哈希:

h = [
  {user_id: 1, bookings_nd: 3}, 
  {user_id: 2, bookings_nd: 10}, 
  {user_id: 3, bookings_nd: 2}
]
Run Code Online (Sandbox Code Playgroud)

我需要:

h = [
  {user_id: 2, bookings_nd: 10}, 
  {user_id: 1, bookings_nd: 3},
  {user_id: 3, bookings_nd: 2}
]
Run Code Online (Sandbox Code Playgroud)

怎么做?

Ily*_*rov 7

你可以做

h.sort_by! { |k| -k[:bookings_nd] }
Run Code Online (Sandbox Code Playgroud)

要么

h.sort_by! { |k| k[:bookings_nd] }.reverse!
Run Code Online (Sandbox Code Playgroud)

另外我猜这个问题是重复的,在Ruby中按降序对数组进行排序