【发布时间】:2016-10-15 15:22:51
【问题描述】:
您好,我正在开发一个聊天应用程序,我想根据时间对新消息进行排序并保持历史顺序。
例如,我将聊天消息放在这样的数组中,现在使用每个消息对象上的“时间”键对它们进行排序!
[{"user":"a", "msg":"Hi ", "read":true, "time":1}
{"user":"b", "msg":"Hi ", "read":false, "time":2}
{"user":"c", "msg":"Hi ", "read":false, "time":3}
{"user":"d", "msg":"Hi ", "read":true, "time":4}
{"user":"e", "msg":"Hi ", "read":true, "time":5}]
我如何也可以使用“读取”键对它们进行排序,其中所有错误值都应位于顶部,但其余对象应使用“时间”键进行排序。
比如这样
[{"user":"b", "msg":"Hi ", "read":false, "time":2}
{"user":"c", "msg":"Hi ", "read":false, "time":3}
{"user":"a", "msg":"Hi ", "read":true, "time":1}
{"user":"d", "msg":"Hi ", "read":true, "time":4}
{"user":"e", "msg":"Hi ", "read":true, "time":5}]
【问题讨论】:
-
你现在排序如何?
-
我首先将数组拆分为一个包含已读消息和一个未读消息,然后对它们进行独立排序。这样您仍然可以使用完成的分拣机。还是你在找具体的代码?
标签: javascript arrays sorting