判断一维对象数组的对象时间属性值是未来、今天、昨天、一周内、30天内、30天以前,并将该数组按照时间分类组成二维数组用于分时间段渲染

news/2025/1/11 16:54:29/
//判断时间
let today = [] as any
let yesterday = [] as any
let aWeek = [] as any
let aMonth = [] as any
let longlongAgo = [] as any//封装时间判断方法
let judgeTime = function (time) {let date = timelet oneDay = 60 * 60 * 24 //date = 1684119095 //2023/5/16date = date - (date % oneDay)let nowDate = Date.parse(new Date()) / 1000nowDate = nowDate - (nowDate % oneDay)// console.log(nowDate,'now')// console.log(date)let checkTime = (nowDate - date) / oneDayconsole.log(checkTime,'checkTime')if (checkTime < 0) {// console.log('未来')} else if (checkTime == 0) {// console.log('今天')today.push(element)} else if (checkTime > 0 && checkTime <= 1) {// console.log('昨天')yesterday.push(element)} else if (checkTime > 1 && checkTime <= 7) {// console.log('一周内')aWeek.push(element)} else if (checkTime > 7 && checkTime <= 30) {aMonth.push(element)// console.log('30天内')} else if (checkTime > 30) {longlongAgo.push(element)// console.log('很久以前')}
}
//定义一个空数组,用于组装二维数组
const allConversations=ref([])
//在方法中使用
function initData(data) {today = []yesterday = []aWeek = []aMonth = []longlongAgo = []for (let index = 0; index < data.length; index++) {const element = data[index]//使用判断时间judgeTime(element.lastActiveTime)}nextTick(() => {allConversations.value = [today, yesterday, aWeek, aMonth, longlongAgo]//排序allConversations.value.forEach((item, index) => {item.sort((a, b) => {return a.lastActiveTime - b.lastActiveTime})})console.log(allConversations.value, 'allConversations.value')})
}

此时就可以将组装好的allConversations用以分时间渲染了


http://www.ppmy.cn/news/87403.html

相关文章

Linux之软件包管理

软件包管理 RPM RPM 概述 RPM&#xff08;RedHat Package Manager&#xff09;&#xff0c; RedHat软件包管理工具&#xff0c; 类似windows里面的setup.exe&#xff0c;是Linux这系列操作系统里面的打包安装工具&#xff0c; 它虽然是RedHat的标志&#xff0c; 但理念是通用…

实验7 多用户界面、菜单以及对话框程序设计

实验内容 1.设计一个具有两个页面的程序&#xff0c;第一个页面显示一张封面的图片&#xff0c;第二个页面显示“欢迎进入本系统”,这两个页面之间能相互切换。    2.设计一个具有3个选项的菜单程序&#xff0c;当单击每个选项时&#xff0c;分别跳转到3个不同的页面。 3.设…

Java Applet研究与应用 ——综合测评系统

摘 要 大学期间&#xff0c;综合测评计算是每学期必不可少的工作。人工计算综合测评是一个很繁杂的过程&#xff1a;每个学生先计算自己的综合测评成绩&#xff0c;制成草表&#xff0c;上交给班委&#xff1b;然后班委核对并将成绩录入制成电子文档上交给院系相关部门。在这个…

leetcode-岛屿数量(Java实现)

使用递归算法和并查集两种方式解决岛屿数量 LeetCode原题链接题目描述递归解法并查集解法并查集的知识学习。 LeetCode原题链接 岛屿数量 题目描述 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格…

【arxiv】关于 SAM 的论文扫读(一)

文章目录 一、阴影检测二、弱监督下的隐蔽物体分割&#xff1a;基于SAM的伪标签和多尺度特征分组三、Instruct2Act&#xff1a;利用大型语言模型将多模态指令映射到机器人动作四、OR-NeRF: Object Removing from 3D Scenes Guided by Multiview Segmentation with Neural Radia…

R语言环境配置指南:详解安装和设置步骤(ChatGPT3.5)

标题&#xff1a;R语言环境配置指南&#xff1a;详解安装和设置步骤 导语&#xff1a; R语言是一种功能强大的统计分析和数据可视化工具&#xff0c;为了充分利用其优势&#xff0c;正确配置R语言环境至关重要。本文将详细介绍如何安装R语言以及配置开发环境&#xff0c;包括选…

two-stage目标检测算法

R-CNN 现在&#xff0c;将目光穿越回2012年&#xff0c;hinton刚刚提出alexnet的时代。 此时&#xff0c;该如何审视目标检测任务&#xff1f; 当时的目标检测采用的是滑动窗口手动特征分类器的思路。 该方法的弱点包括 速度慢 精度差 精度差的问题是由手工特征造成的&am…

QCM6490 多次点击power键才能唤醒屏幕

项目场景&#xff1a; 点击2-3次power键才能唤醒屏幕。 1.gpio 占用&#xff0c;目测最有可能的是gpio占用 导致超时 &#xff08;1.通过添加log定位 2.排查添加的gpio&#xff09;-排除&#xff0c;没有报错也无法唤醒 2.休眠有问题 3.唤醒有问题 4.pmi休眠唤醒异常导致 --对…