我在开发一个客服聊天界面,每条消息都有发送时间,我想要实现相邻两条消息之间间隔小于3分钟的就不展示发送时间.
下面就是消息的JSON结构,里面的time就是发送时间
message = { "msg_id": 629255, "time": "2023-02-11 00:41:04", "content": "chatGPT", "mes_type": "visitor", "name": "山东聊城", "avator": "/static/images/computer.png", "read_status": "read" };
下面的msgList就是消息的数组,当前 i 的时间,与 i+1 的时间取差值,小于3分钟的,就把show_time设置为false
这样在界面上渲染,循环数组的时候,判断show_time来决定是否展示时间
for(var i=0;i<msgList.length;i++) {if((i+1)<msgList.length){ const nextTime = new Date(msgList[i+1]["time"]).getTime(); const currTime = new Date(row["time"]).getTime(); if((currTime-nextTime)>=180000){ row.show_time=true; }else{ row.show_time=false; } } _this.msgList.unshift(row); }
标签:界面,show,JS,时间,消息,time,row From: https://www.cnblogs.com/taoshihan/p/17327913.html