gpt4 book ai didi

javascript - 对字符串日期数组进行排序,如果日期格式为 :- "Feb-01-2018"?

转载 作者:行者123 更新时间:2023-11-30 20:48:58 24 4
gpt4 key购买 nike

我想根据月份对数组进行排序。日期为字符串格式:-

日期数组 = [
“2018 年 5 月 17 日”,
"1 月 6 日 1",
“2018 年 11 月 29 日”,
“2018 年 11 月 1 日”,
“2018 年 4 月 12 日”,
“2018 年 8 月 9 日”,
“2018 年 2 月 18 日”,
“2018 年 2 月 8 日”,
“2018 年 1 月 28 日”,
“2018 年 1 月 26 日”,
“2018 年 3 月 15 日”,
“2018 年 10 月 4 日”,
“2018 年 1 月 25 日”,
“2018 年 6 月 14 日”,
“2018 年 12 月 27 日”,
“2018 年 1 月 29 日”,
“2018 年 1 月 21 日”,
“2018 年 1 月 16 日”,
“2018 年 1 月 20 日”,
“2018 年 3 月 22 日”,
“2018 年 2 月 1 日”,
“2018 年 1 月 1 日”,
“2018 年 3 月 8 日”,
“2018 年 4 月 26 日”,
“2018 年 2 月 22 日”,
“2018 年 4 月 19 日”,
“2018 年 3 月 29 日”,
“2018 年 6 月 6 日”,
“2018 年 5 月 5 日”,
“2018 年 5 月 3 日”,
“2018 年 5 月 10 日”,
“2018 年 2 月 15 日”,
“2018 年 7 月 12 日”
]

我已经实现了这段代码,但是根据这段代码对我的号码进行排序。

 datesArray.sort(function(a,b) {
a = a.split('-').reverse().join('');
b = b.split('-').reverse().join('');
return a > b ? 1 : a < b ? -1 : 0;
});

告诉我如何做到这一点。我搜索了很多,但找不到任何结果。

最佳答案

您可以将给定日期转换为 ISO 8601合规日期并按字符串对它们进行排序。

var array = ["May-17-2018", "Jan-06-2017", "Nov-29-2018", "Nov-01-2018", "Apr-12-2018", "Aug-09-2018", "Feb-18-2018", "Feb-08-2018", "Jan-28-2018", "Jan-26-2018", "Mar-15-2018", "Oct-04-2018", "Jan-25-2018", "Jun-14-2018", "Dec-27-2018", "Jan-29-2018", "Jan-21-2018", "Jan-16-2018", "Jan-20-2018", "Mar-22-2018", "Feb-01-2018", "Mar-01-2018", "Mar-08-2018", "Apr-26-2018", "Feb-22-2018", "Apr-19-2018", "Mar-29-2018", "Sep-06-2018", "Apr-05-2018", "May-03-2018", "May-10-2018", "Feb-15-2018", "Jul-12-2018"];

array.sort(function (a, b) {
function getISO(s) {
var months = { Jan: '01', Feb: '02', Mar: '03', Apr: '04', May: '05', Jun: '06', Jul: '07', Aug: '08', Sep: '09', Oct: '10', Nov: '11', Dec: '12' };
return s.replace(/^(...)-(..)-(....)$/, (_, m, d, y) => [y, months[m], d].join('-'));
}

return getISO(a).localeCompare(getISO(b));
});

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 对字符串日期数组进行排序,如果日期格式为 :- "Feb-01-2018"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48388380/

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