如何在Javascript中按天和月对日期数组排序

如何在Javascript中按天和月对日期数组排序,javascript,Javascript,有人知道如何过滤日期数组(全部以毫秒为单位)以便在Javascript中只保留1天或1个月的日期吗?所以结果数组中必须只包含逐日或逐月的日期。若一天中有几个小时不同的日期,或是分钟不同的日期等等,跳过它,只保存最后一个 例如2020/11/23 05:00、2020/11/22 09:15、2020/11/21 12:30等 数组看起来像[1608362100000160836180000016083611500001082748000016884000001608102000000160801

有人知道如何过滤日期数组(全部以毫秒为单位)以便在Javascript中只保留1天或1个月的日期吗?所以结果数组中必须只包含逐日或逐月的日期。若一天中有几个小时不同的日期,或是分钟不同的日期等等,跳过它,只保存最后一个

例如2020/11/23 05:00、2020/11/22 09:15、2020/11/21 12:30等


数组看起来像[16083621000001608361800000160836115000010827480000168840000016081020000001608015600160542360000160274520000015300000159747480000001568530800000]

这里是一个片段。看看Date类上的不同方法,以防有另一种格式更适合您的需要

const日期=[
1608362100000,
1608361800000,
1608361500000,
1608274800000,
1608188400000,
1608102000000,
1608015600000,
1605423600000,
1602745200000,
1600153200000,
1597474800000,
1568530800000,
];
//按降序排列日期
const descending=dates.sort((a,b)=>b-a);
//创建数组或可读日期
const datesformated=descending.map((val)=>new Date(val.toDateString());
//使用数组创建一个集合,以仅保留唯一值
const uniqueDates=新集合(日期已格式化);
//使用spread运算符将数据回溯到数组
常量结果=[…唯一日期];
//打印结果

控制台日志(结果)检查示例中的所有日期都在同一天-您确定它们是以毫秒为单位而不是以秒为单位吗?时间戳您不能按天和月排序,但时间戳现在总是比过去的天或月大。如果您需要按最大值排序,则会得到最近到较旧的和最小的操作站点。@Bravo I编辑数组。
[…新设置(您的ArrayOftimestamps.sort((a,b)=>a-b).map(n=>new Date(n).toDateString())]
cool thx u。但是,如果我需要对数组执行相同的操作,但要按月份进行排序,该怎么办呢。我的意思是只包含唯一的月份。我做了编辑。试着完成它,如果您仍然有问题,请告诉我们:)