位置: IT常识 - 正文

JS数组对象——根据日期进行排序Date.parse(),按照时间进行升序或降序排序localeCompare()(js数组entries)

发布时间:2024-01-17
JS数组对象——根据日期进行排序Date.parse(),按照时间进行升序或降序排序localeCompare() JS数组对象——根据日期对象进行排序,按照时间进行升序或降序排序场景复现封装数组对象的排序方法根据日期和时间对象排序1、按照日期时间混合排序2、分别按照日期和时间进行排序场景复现

推荐整理分享JS数组对象——根据日期进行排序Date.parse(),按照时间进行升序或降序排序localeCompare()(js数组entries),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js 数组 对象,js数组对象方法,js数组entries,js 数组 对象,js数组对象去重方法,js数组对象排序方法,js数组对象去重,js数组对象排序方法,内容如对您有帮助,希望把文章链接给更多的朋友!

排序在项目中非常实用,出现频率极高,尤其是后台管理系统,需要我们对大量的数据进行展示、处理、操作。一般都是从后台获取到数组对象,然后根据其中的一个属性对数据进行升序或者降序的处理。从本期文章开始,将分别介绍常用的三种排序——根据日期排序、根据中文首字母排序、根据英文首字母排序。这三种排序的使用频率非常高。

下面将举例详细介绍——按日期和时间顺序进行排序!

封装数组对象的排序方法

封装思想在项目中用到的非常多,封装用的好可以在很大程度上减少代码量,提高复用率。 首先我们先了解一下最简单的根据数字大小排序的排序方法封装。

// 封装数组对象排序方法compare(prop) { return function(a, b) { return b[prop] - a[prop] // 降序 // return a[prop] - b[prop] // 升序 }},// 比如arrList对象中根据score属性进行从大到小的排序const arrList = [ {id: 1, value : "value1", score: 97}, {id: 2, value : "value2", score: 126, }, {id: 3, value : "value3", score: 60, },];arrList = arrList.sort(arrList.compare('score'))

从大到小排序后的数据:

{id: 2, value : "value2", score: 126, },{id: 1, value : "value1", score: 97},{id: 3, value : "value3", score: 60, },

看完这个简单的大小排序后,我们切入正题,按照日期进行排序。

这里我们分为时间和日期混合排序(时间和日期在一个参数内)以及时间和日期分别排序(时间和日期对应两个参数)

根据日期和时间对象排序1、按照日期时间混合排序

(1)数组内容

let data = [ {id: 2, time: '2019-04-26 10:53:19'},{id: 4, time: '2019-04-26 10:51:19'}, {id: 1, time: '2019-04-26 11:04:32'}, {id: 3, time: '2019-04-26 11:05:32'}]

(2)利用Date.parse()对日期进行混合排序

// property是你需要排序传入的key,bol为true时是升序,false为降序function dateData(property, bol) {return function(a, b) {var value1 = a[property];var value2 = b[property];if (bol) {// 升序return Date.parse(value1) - Date.parse(value2);} else {// 降序return Date.parse(value2) - Date.parse(value1)}}}console.log(data.sort(dateData("time", true)))console.log(data.sort(dateData("time", false)))JS数组对象——根据日期进行排序Date.parse(),按照时间进行升序或降序排序localeCompare()(js数组entries)

控制台排序结果:

下面介绍日期和时间两个参数分开排序的例子

2、分别按照日期和时间进行排序

一、升序

1、数组内容

const arr = [ {id: 1, value : "value1", date: "2018-08-08", time: "15:27:17"}, {id: 2, value : "value2", date: "2018-08-09", time: "12:27:17"}, {id: 3, value : "value3", date: "2018-08-10", time: "17:27:17"}, {id: 4, value : "value4", date: "2018-08-10", time: "01:27:17"}, {id: 5, value : "value5", date: "2018-08-10", time: "09:27:17"}, {id: 6, value : "value6", date: "2018-08-10", time: "23:27:17"}, {id: 7, value : "value7", date: "2018-08-10", time: "16:27:17"}, {id: 8, value : "value8", date: "2018-08-11", time: "10:27:17"}];

方法:sort()、localeCompare()

sort用于排序,localeCompare用于比较 localeCompare不要写成localCompare

2、关键代码:(根据时间和日期进行排序)

// 按照时间先后顺序进行排序arr.sort((a, b) => a.date.localeCompare(b.date) || a.time.localeCompare(b.time));console.log(arr);// 包括了时间的比较,同时也包括了日期的比较

3、控制台排序结果:

二、降序

降序只需要将a和b的位置交换即可,代码如下:

arr.sort((a, b) => b.date.localeCompare(a.date) || b.time.localeCompare(a.time));console.log(arr);

控制台排序结果:

下期文章将介绍根据中文首字母对数组对象进行排序~

感兴趣的小伙伴可以订阅本专栏,方便后续了解学习~

觉得这篇文章有用的小伙伴们可以点赞➕收藏➕关注哦~

本文链接地址:https://www.jiuchutong.com/zhishi/300631.html 转载请保留说明!

上一篇:文件上传(模板导出、批量导入)(文件上传模板怎么弄)

下一篇:常见经典目标检测算法(经典目标检测算法)

  • 快手情侣关系怎么设置(快手情侣关系怎么恢复)

    快手情侣关系怎么设置(快手情侣关系怎么恢复)

  • ios15怎么设置电池百分比(ios15怎么设置电量显示数字)

    ios15怎么设置电池百分比(ios15怎么设置电量显示数字)

  • 苹果6p怎么设置深色模式(苹果6p怎么设置小组件)

    苹果6p怎么设置深色模式(苹果6p怎么设置小组件)

  • 滴滴车主口碑值怎么提高(滴滴车主口碑值的构成)

    滴滴车主口碑值怎么提高(滴滴车主口碑值的构成)

  • win10睡眠和休眠的区别(win10睡眠和休眠哪个接近手机待机)

    win10睡眠和休眠的区别(win10睡眠和休眠哪个接近手机待机)

  • 苹果的耳机模式在哪里关掉(苹果的耳机模式怎么关)

    苹果的耳机模式在哪里关掉(苹果的耳机模式怎么关)

  • 苹果id密保答案忘记了怎么办(苹果id保密问题)

    苹果id密保答案忘记了怎么办(苹果id保密问题)

  • 剪映导不出视频怎么回事(为什么剪映导不出视频)

    剪映导不出视频怎么回事(为什么剪映导不出视频)

  • 怎么群发短信给非联系人(怎么群发短信给别人)

    怎么群发短信给非联系人(怎么群发短信给别人)

  • 苹果快捷指令可以添加门禁卡吗(苹果快捷指令可以干嘛)

    苹果快捷指令可以添加门禁卡吗(苹果快捷指令可以干嘛)

  • 荣耀play4tpro和荣耀play4t的区别(荣耀play4Tpro和荣耀x30哪个好)

    荣耀play4tpro和荣耀play4t的区别(荣耀play4Tpro和荣耀x30哪个好)

  • ipad反向充电设置(ipad 反向充电)

    ipad反向充电设置(ipad 反向充电)

  • 微信皱眉表情是啥意思(微信皱眉表情是什么意思)

    微信皱眉表情是啥意思(微信皱眉表情是什么意思)

  • qq扩列错过怎么找回(qq扩列错过加好友怎么办)

    qq扩列错过怎么找回(qq扩列错过加好友怎么办)

  • 钉钉继续打卡是什么意思(钉钉继续打卡是怎么回事)

    钉钉继续打卡是什么意思(钉钉继续打卡是怎么回事)

  • 手机拍照片怎么是倒的(手机拍照片怎么弄成电子版)

    手机拍照片怎么是倒的(手机拍照片怎么弄成电子版)

  • 电脑fast boot什么意思(电脑fast boot怎么设置)

    电脑fast boot什么意思(电脑fast boot怎么设置)

  • qq空间上传照片怎么才能不在动态中显示(qq空间上传照片怎么显示手机型号)

    qq空间上传照片怎么才能不在动态中显示(qq空间上传照片怎么显示手机型号)

  • 咋样发朋友圈不带图片(咋样发朋友圈不让别人看到)

    咋样发朋友圈不带图片(咋样发朋友圈不让别人看到)

  • 华为密码忘了怎么办(华为密码忘了怎么办 锁屏)

    华为密码忘了怎么办(华为密码忘了怎么办 锁屏)

  • vue怎么改别人的水印(vue配置别名)

    vue怎么改别人的水印(vue配置别名)

  • 抵扣宝100卡怎么使用(抵扣卡图片)

    抵扣宝100卡怎么使用(抵扣卡图片)

  • 手机怎么重设路由器密码(手机怎么重设路由器设置)

    手机怎么重设路由器密码(手机怎么重设路由器设置)

  • 苹果屏幕显示时间怎么设置(苹果屏幕显示时间字体怎么设置)

    苹果屏幕显示时间怎么设置(苹果屏幕显示时间字体怎么设置)

  • 苹果调时间在哪里调(苹果调时间在哪里)

    苹果调时间在哪里调(苹果调时间在哪里)

  • cad坐标转换(cad坐标转换快捷命令)

    cad坐标转换(cad坐标转换快捷命令)

  • 小米8勿扰模式怎么设置(小米8勿扰模式在哪里)

    小米8勿扰模式怎么设置(小米8勿扰模式在哪里)

  • 动态壁纸怎么设置(动态壁纸怎么设置锁屏)

    动态壁纸怎么设置(动态壁纸怎么设置锁屏)

  • 预收货款需要缴纳消费税吗?缴纳消费税的时间应该是?
  • 个人转让房产两年内全额计税是什么意思
  • 个体户个人经营所得税税率表2023
  • 已经作为损失的资产以后纳税年度收回的会计处理
  • 实际缴纳的税款怎么算
  • 计税金额是含税还是不含税
  • 个人名义购房
  • 煤矸石算能源吗
  • 周转材料租赁费怎么结转成本
  • 转账支票支付展览费
  • 水利建设专项收入怎么报税
  • 折价购入
  • 建筑企业如何管理资质证书
  • 逾期包装物押金消费税会计分录
  • 税收编码名称是什么
  • 个人怎么开增值税
  • 小规模纳税人出租不动产税率是5%还是3%
  • 用户风险是什么意思
  • 固定资产内部调拨流程
  • 母公司向分公司收取管理费
  • 购入商品入库时发现实收物多余应收数计入什么科目
  • 受托加工物资产生的成本怎么做会计核算?
  • 城建税计税依据及税率
  • 增值税电子缴款凭证在哪里打印
  • 应收账款增加记哪一方
  • 怎么计算附加税税率
  • 发票收到本月进账怎么办
  • 应交增值税有哪些
  • 期末调汇的会计处理
  • Win10怎么清除系统
  • ubuntu系统怎么安装微信
  • 跨年发票税务处理两大原则
  • win8系统出现你的电脑遇到问题需要重新启动
  • swoole和websocket的区别
  • linux怎么创建一个用户组
  • PHP:session_destroy()的用法_Session函数
  • 授权经销书模板
  • php foo
  • 君子兰的养殖方法
  • php编写用户注册界面
  • phpcgi远程代码执行漏洞
  • php截取指定字符串
  • web后端开发框架有哪些
  • 图幅翻译
  • vmware vmtools
  • ps快速选择工具抠图
  • 现金流量表的附表如何编制
  • 转账支票只能去开户行买吗?
  • 识别假人民币的简便方法
  • 新准则职工福利费包括哪些
  • 两者的性质有所差异
  • 金税盘税务申报流程
  • 对方给我们等额的钱
  • 一次性开票分期收入账务处理
  • 留存收益转增资本公积
  • 委托代理出口如何缴纳增值税
  • 提取备用金如何填写现金日记账
  • 固定资产清理产生的收入计入
  • 加计抵减政策15%声明
  • 会计凭证编制程序和用途
  • Win10系统怎么进入控制面板
  • win8打开桌面
  • win10系统怎么手机投屏到电脑
  • windows字幕软件
  • Win10系统中怎么给图片加备注
  • 升级win10后无法修改magicbook开机画面
  • 怎样提升android的版本为最新版本?
  • win8.1 下 eclipse+android 开发环境配置带图详细教程
  • 恶意软件清理
  • 删除批处理命令
  • linux多线程编程实例
  • python3 pygame
  • 百度地图给map添加
  • android开发教程视频
  • js判断路径下图片是否存在
  • javascript总结
  • javascript要怎么学
  • amd模拟intel
  • python的入门教程
  • 生育保险证明去哪里办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号