JavaScript按降序排序日期和时间
我在使用JavaScript按降序排序日期和时间时遇到了一些问题。以下是一些输入:JavaScript按降序排序日期和时间,javascript,sorting,date,time,Javascript,Sorting,Date,Time,我在使用JavaScript按降序排序日期和时间时遇到了一些问题。以下是一些输入: [{chatroomID: "1", date: "12/26/2017", time: "10:31:32 PM"}, {chatroomID: "2", date: "12/26/2017", time: "10:38:01 PM"}, {chatroomID: "3", date: "12/26/2017", time: "10:35:14 PM"}] 我想按降序对它们进行排序,最新的一个将位于顶部,但我
[{chatroomID: "1", date: "12/26/2017", time: "10:31:32 PM"},
{chatroomID: "2", date: "12/26/2017", time: "10:38:01 PM"},
{chatroomID: "3", date: "12/26/2017", time: "10:35:14 PM"}]
我想按降序对它们进行排序,最新的一个将位于顶部,但我不确定如何进行排序
所需输出:
[{chatroomID: "2", date: "12/26/2017", time: "10:38:01 PM"},
{chatroomID: "3", date: "12/26/2017", time: "10:35:14 PM"},
{chatroomID: "1", date: "12/26/2017", time: "10:31:32 PM"}]
如果结果来自同一日期,那么我将根据时间进行排序。否则,最新日期将位于顶部。有什么想法吗
谢谢 只需输入
日期
和时间
,然后将其解析为日期
,并获取时间戳。从那时起,它只是简单的旧排序
const datetimes=[
{聊天室ID:“1”,日期:“12/26/2017”,时间:“10:31:32 PM”},
{聊天室ID:“2”,日期:“12/26/2017”,时间:“10:38:01 PM”},
{聊天室ID:“3”,日期:“12/26/2017”,时间:“10:35:14 PM”}
]
const sorted=datetimes.sort((a,b)=>{
const aDate=新日期(a.日期+a.时间)
const bDate=新日期(b.日期+b.时间)
返回bDate.getTime()-aDate.getTime()
})
console.log(排序)
首先您应该将日期和时间转换为日期对象,然后您应该查看一下我认为使用新日期
或日期。使用字符串分析
并不是一件真正安全的事,请看。@MarcelGwerder Fair point-我怀疑浏览器是否会与OP的格式不一致-但我不会就此发誓。嗯,这看起来对我不起作用