【问题标题】:Multisort using Ruby [closed]使用 Ruby 进行多重排序 [关闭]
【发布时间】:2019-05-20 19:07:49
【问题描述】:

我的数据格式为:

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

但它没有得到排序。

【问题讨论】:

  • 您对其进行排序,但这不会改变a。如果要修改a,则必须使用排序的bang版本:sort_by!
  • 我无法重现您的问题。对我来说,它得到了很好的排序。

标签: ruby sorting array-multisort


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 2021-06-25
    • 2021-12-26
    • 2018-04-29
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多