gpt4 book ai didi

ruby - 按日期排序数组元素

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:47 25 4
gpt4 key购买 nike

我有以下数组。

dates = ["6/23/2014", "8/5/2014", "8/19/2014", "6/26/2014", "8/19/2014", "8/19/2014",
"7/8/2014", "6/3/2014", "7/30/2014", "7/3/2014", "6/3/2014", "6/26/2014"]

我们的数组存储 10 个字符串对象。为了按照我的方式对它们进行排序,我需要重新排列每个元素。

"2014/8/5", "2014/8/19", "2014/8/19", etc.

这样,例如,1/1/2014 就不会早于 12/13/1994。

我尝试了以下方法

dates.sort_by {|date|date.split(/[\/]/).rotate(-1).join('/')}

我想按日期对这个数组进行排序,最新的日期在前。

实际输出

8/5/2014
8/19/2014
8/19/2014
8/19/2014
7/8/2014
7/30/2014
7/3/2014
6/3/2014
6/3/2014
6/26/2014

预期输出

8/19/2014
8/19/2014
8/19/2014
8/5/2014
7/30/2014
7/3/2014
6/26/2014
6/3/2014
6/3/2014

解决方案涉及使用 Ruby 数组类 sort_by 方法。我想按日期格式排序,较新的日期排在较早的日期之前。

我的问题是,如何根据日期对数组进行排序。

如果这是一个愚蠢的问题,我深表歉意,但我搜索了这个网站,但找不到任何结果。

提前感谢您的帮助。

最佳答案

尝试:

dates.sort_by { |s| Date.strptime(s, '%m/%d/%Y') }

如果你想从最新的日期开始:

dates.sort_by { |s| Date.strptime(s, '%m/%d/%Y') }.reverse

关于ruby - 按日期排序数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25494503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com