Reactjs 如何对时间进行排序并以正确的顺序显示消息
此处消息的显示顺序错误,Reactjs 如何对时间进行排序并以正确的顺序显示消息,reactjs,Reactjs,此处消息的显示顺序错误,你好吗?的发送方消息应位于hi heelo的接收方消息底部,如何对时间进行排序?这是密码,请帮我提前谢谢 { newArr ? newArr.map((m) => { return <div className={m.type === "sent" ? 'media media-chat media-chat-reverse' : 'media media-chat'}><p>
你好吗?
的发送方消息应位于hi heelo
的接收方消息底部,如何对时间进行排序?这是密码,请帮我提前谢谢
{ newArr ? newArr.map((m) => {
return <div className={m.type === "sent" ? 'media media-chat media-chat-reverse' : 'media media-chat'}><p>{m.msg}</p>
<p>{m.date}</p>
</div>
}) : null }
{newArr?newArr.map((m)=>{
返回{m.msg}
{m.date}
}):null}
{newArr?newArr.sort((a,b)=>a.date>b.date?1:-1).map((m)=>{
返回(
{m.msg}
{m.date}
)
}):null}
这不适用于a.date
和b.date
正确相同的情况。在这种情况下,sort
回调应该返回0
,而不是-1。您还没有说date
是什么(数字?日期?字符串?)。如果是一个数字或日期,sort
回调应该是:.sort((a,b)=>a.Date-b.Date)
或从最旧到最新(.sort((a,b)=>b.Date-a.Date)
表示从最新到最旧)。如果它是一个字符串,但基本上:.sort((a,b)=>a.date.localeCompare(b.date))
用于升序词典排序(在函数体中反向a
和b
用于降序排序)。
{ newArr ? newArr.sort((a, b) => a.date > b.date ? 1 : -1).map((m) => {
return (
<div className={m.type === "sent" ? 'media media-chat media-chat-reverse' : 'media media-chat'}><p>{m.msg}</p>
<p>{m.date}</p>
</div>)
}) : null }