Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript按降序排序日期和时间_Javascript_Sorting_Date_Time - Fatal编程技术网

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"}] 我想按降序对它们进行排序,最新的一个将位于顶部,但我

我在使用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: "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的格式不一致-但我不会就此发誓。嗯,这看起来对我不起作用