gpt4 book ai didi

JavaScript 按降序排列日期的排序列表

转载 作者:行者123 更新时间:2023-11-28 17:09:05 24 4
gpt4 key购买 nike

日期如下所示:

[‘Oct 7, 2009’, ‘Nov 10, 2009’, ‘Jan 10, 2009’, ‘Oct 22, 2009’, …]

月份始终是完整月份名称的前三个字符(“January”=>“Jan”、“February”=>“Feb”……)。

日期由一位或两位数字组成(1, 2, … 31),前面没有零。

日期后面总是有一个逗号。年份始终为四位数。

我正在尝试编写一个函数,该函数将按降序排列日期中的字符串列表

这是我目前拥有的:

let dates = [
'Oct 7, 2009',
'Nov 10, 2009',
'Jan 10, 2009',
'Oct 22, 2009'
]

let sortDate = function (date1, date2) {
if (date1 > date2) return -1
if (date1 < date2) return 1
return 0
}

dates.sort(sortDate)

for (let i = 0; i < dates.length; i++) {
document.write(i + ': ' + dates[i])
}

输出显示了这一点:

0: Oct 7, 2009
1: Oct 22, 2009
2: Nov 10, 2009
3: Jan 10, 2009

一月应该是第一个。

最佳答案

在您的 sort 回调中,返回以纪元(毫秒数)表示的日期差。您可以使用Date.parse为此:

    return Date.parse(date1) - Date.parse(date2);

let dates = ['Oct 7, 2009', 'Nov 10, 2009', 'Jan 10, 2009', 'Oct 22, 2009'];

let sortDate = function (date1, date2) {
return Date.parse(date1) - Date.parse(date2);
}

dates.sort(sortDate)

for (let i = 0; i < dates.length; i++) {
console.log(i + ': ' + dates[i])
}

关于JavaScript 按降序排列日期的排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54973231/

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