如何按日期在Rails中的Ruby中对二维数组(二维数组)进行排序?

Jos*_*hme 2 ruby arrays sorting ruby-on-rails multidimensional-array

我有一个具有以下结构的二维数组

array = [
          ["2019-03-11","00986587","LBP"],
          ["2019-02-23","00462421","USD"],
          ["2019-05-26","00357853","EUR"],
          ["2019-09-15","00357382","LBP"]
        ]
Run Code Online (Sandbox Code Playgroud)

我想根据日期(每行的第一个元素)对数组进行排序。

寻找以下结果:

array = [
          ["2019-09-15","00357382","LBP"],
          ["2019-05-26","00357853","EUR"],
          ["2019-03-11","00986587","LBP"],
          ["2019-02-23","00462421","USD"]
        ]
Run Code Online (Sandbox Code Playgroud)

在对sortsort_by进行研究之后,我没有找到任何解决方案。谁能帮我解决我的问题?谢谢你

dem*_*mir 5

您可以使用sort_by方法对2d数组进行排序:sort_by默认情况下按升序排序。如果希望它按降序排列,只需反转结果即可。

array.sort_by{ |a| a.first }.reverse
Run Code Online (Sandbox Code Playgroud)

  • 您甚至不需要使用`sort_by`。无论如何,数组都按其第一个元素排序(然后按其第二个元素,...)排序。 (2认同)