使用 Ruby 进行多重排序

Multisort using Ruby

我的数据格式为:

a = [
      {
        "a_id":101,
        "a_value":100000.0,
        "a_quantity":360.0
      },
      {
        "a_id":108,
        "a_value":110000.0,
        "a_quantity":210.0
      },
      {
        "a_id":104,
        "a_value":105000.0,
        "a_quantity":310.0
      }
    ]

我希望数据按 a_value 的降序排列。我试过:

a.sort_by {|k| k[:a_value] }.reverse

但是没有排序。

你有什么用。只是不要忘记将排序后的集合分配给一个变量(sort_byreverse 不会更改集合)。

奖金:可以说这是一个更好的版本(一次通过,而不是两次)

a.sort_by{ |v| -v[:a_value] }