【问题标题】:Ruby Array sorting [duplicate]Ruby数组排序[重复]
【发布时间】:2015-03-25 18:54:41
【问题描述】:

我有一组需要排序的项目。我需要按两个属性排序,但目前一种正在覆盖另一种。我需要一种混合排序,所以它在另一个排序中进行排序。有任何想法吗。这是我所拥有的:

    @coasters = @coasters.sort_by { |c| c.coaster_sort }
    @coasters = @coasters.sort_by { |c| c.park_name }

谢谢, 尼尔

【问题讨论】:

    标签: ruby arrays sorting


    【解决方案1】:
       @coasters.sort_by! { |c| [c.coaster_sort,  c.park_name]}
    

    【讨论】:

    • 我会接受的。谢谢!
    • @RustamA.Gasanov 这行​​为类​​似于 SQL ORDER BY col1, col2
    • @AntarrByrd 啊,现在清楚了,谢谢
    【解决方案2】:

    你可以先传递一个排序最重要的数组:

    @coasters = @coasters.sort_by {|c| [c.coaster_sort, c.park_name]}
    

    【讨论】:

      【解决方案3】:

      正如前面的答案已经提到的,你可以传递一个数组:

      @coasters = @coasters.sort_by {|c| [c.coaster_sort, c.park_name]}
      

      我相信这是对以下问题的重复:ruby sort_by twice

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多