位置: IT常识 - 正文

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

编辑:rootadmin
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 转载请保留说明!

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

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

  • 终端店铺服装营销有什么策略(终端店铺的设计步骤)

    终端店铺服装营销有什么策略(终端店铺的设计步骤)

  • 微博营销推广十二个技巧(微博营销推广是什么)

    微博营销推广十二个技巧(微博营销推广是什么)

  • 智慧团建一直提示密码错误(智慧团建一直提示验证码输入错误)

    智慧团建一直提示密码错误(智慧团建一直提示验证码输入错误)

  • 蓝牙耳机容易掉出耳朵(蓝牙耳机容易掉线怎么回事)

    蓝牙耳机容易掉出耳朵(蓝牙耳机容易掉线怎么回事)

  • sku库存设为0会影响权重吗(淘宝sku库存设置多少合适)

    sku库存设为0会影响权重吗(淘宝sku库存设置多少合适)

  • 华为手机微信怎么换黑色主题(华为手机微信怎么恢复成中文版)

    华为手机微信怎么换黑色主题(华为手机微信怎么恢复成中文版)

  • 卖家为什么要拖延退款(卖家为什么要拖延退货)

    卖家为什么要拖延退款(卖家为什么要拖延退货)

  • 什么播放器可以播放所有格式(什么播放器可以放大视频画面)

    什么播放器可以播放所有格式(什么播放器可以放大视频画面)

  • wps中为什么按f4没反应(wps中为什么按空格键就跳到下一行)

    wps中为什么按f4没反应(wps中为什么按空格键就跳到下一行)

  • 两个微信号可以合并吗(两个微信号可以关联互相收到消息吗)

    两个微信号可以合并吗(两个微信号可以关联互相收到消息吗)

  • 苹果八什么时候上市的(苹果八什么时候出来的多少钱)

    苹果八什么时候上市的(苹果八什么时候出来的多少钱)

  • 小天才电话手表adb是什么(小天才电话手表丢了关机怎么找回)

    小天才电话手表adb是什么(小天才电话手表丢了关机怎么找回)

  • 趣步解绑和注销是一回事吗(趣步解绑和注销的区别)

    趣步解绑和注销是一回事吗(趣步解绑和注销的区别)

  • 怎么查看腾讯会员账号有几个人用(怎么查看腾讯会员账号)

    怎么查看腾讯会员账号有几个人用(怎么查看腾讯会员账号)

  • 微信收款助手怎么开启(微信收款助手怎么开通下单助手)

    微信收款助手怎么开启(微信收款助手怎么开通下单助手)

  • 华为p30刷新率是多少Hz(华为p30刷新率是多少赫兹)

    华为p30刷新率是多少Hz(华为p30刷新率是多少赫兹)

  • ipad插了电话卡怎么没网络(ipad插电话卡收不到短信)

    ipad插了电话卡怎么没网络(ipad插电话卡收不到短信)

  • excel2000是应用软件吗(excel2000是什么软件)

    excel2000是应用软件吗(excel2000是什么软件)

  • bips是指计算机的什么(bps是指计算机的什么)

    bips是指计算机的什么(bps是指计算机的什么)

  • 华为手机缓存的视频在哪里(华为手机缓存的电视剧在哪里)

    华为手机缓存的视频在哪里(华为手机缓存的电视剧在哪里)

  • 苹果8重启方法(苹果重启方法怎么设置)

    苹果8重启方法(苹果重启方法怎么设置)

  • 手机能做ppt吗(苹果手机能做ppt吗)

    手机能做ppt吗(苹果手机能做ppt吗)

  • 怎么用vue给视频加图片(vue视屏)

    怎么用vue给视频加图片(vue视屏)

  • 苹果11双卡设置(苹果11双卡设置主号拨号)

    苹果11双卡设置(苹果11双卡设置主号拨号)

  • 手机迅雷下载异常怎么解决(手机迅雷下载异常文件错误)

    手机迅雷下载异常怎么解决(手机迅雷下载异常文件错误)

  • 苹果手机抖音怎么上传音乐(苹果手机抖音怎么清理内存空间)

    苹果手机抖音怎么上传音乐(苹果手机抖音怎么清理内存空间)

  • 苹果手机话筒没声音(苹果手机话筒没声音重启又好了)

    苹果手机话筒没声音(苹果手机话筒没声音重启又好了)

  • vue中tinymce的使用(vue trim)

    vue中tinymce的使用(vue trim)

  • yolov3模型训练并部署到K210(零基础也可)(yolov2模型)

    yolov3模型训练并部署到K210(零基础也可)(yolov2模型)

  • 天然气管网输送费收费标准
  • 年终奖怎么计税的
  • 投资性房地产公允价值模式出售
  • 红字发票申请表盖什么章
  • 劳务派遣小规模纳税人税率是多少
  • 如何让自己公司成为供应商
  • 公司过账什么意思
  • 税金及附加多计提了汇算清缴怎么办
  • 以前年度少计提折旧怎么做分录
  • 工程发票是不是都要异地预缴
  • 服务费增值税专用发票税点
  • 冲回年初未年初分配利润分录
  • 评估增值的差额是什么
  • 公司承担了个人社保如何入账
  • 简易计税项目是所有发票都是普票吗
  • 详细解读财税[2014]75号文件
  • 水利建设专项收入怎么计算
  • 银行借款用于在建工程
  • 合并报表的收入
  • 年终奖扣税标准计算器
  • 通用申报表工会经费可以不申报吗
  • 房地产企业卖出去的房子需要缴纳城镇土地使用税吗
  • 供应商赠送的原材料怎么做分录
  • 生产成本包括什么科目内容
  • 无形资产如何评估作价
  • 车辆哪些费用计税
  • 视同销售情形有哪些?
  • linux deepin怎么样
  • 上月开的发票会计漏做帐本月应如何补做账?
  • electron静默打印
  • 固定资产多少可以费用化
  • 房产税城镇土地使用税申报期限
  • vue.js前端开发快速入门与专业应用
  • php如何调用function
  • 深入分析php优化模型
  • php mkdir
  • phpcms建站流程
  • shell和pycharm
  • 房屋租赁发票如何免税
  • 资产减值损失属于营业外支出吗
  • 本月无开票企业怎么报税
  • 个体户开票超过10万怎么交税
  • 织梦收费5800的解决方法
  • sql 行列转换
  • 4s店除了卖车还有什么
  • 软件无形资产摊销年限
  • 应收账款余额百分比法怎么算
  • access导入到mysql
  • 制造企业预提短期借款利息的会计科目处理
  • 进项税额转出的会计分录怎么做
  • 应收应付票据包括什么
  • 主营业务收入的计算公式
  • 贴现利息的计算公式为
  • 委托加工业务的财务职责
  • 流动性比率怎么算
  • 建筑公司脚手架租赁费会计分录
  • 直接减免税款的例子
  • 短期理财收益账务分录
  • 小额零星支出是什么意思
  • 进项税额被转出怎么做账
  • 非营利医疗机构由谁批准
  • 建账过程中应注意的事项
  • mysql的基本操作语句
  • mysql分页性能
  • 轻松玩转职场职场沟通与写作技巧答案
  • won7系统优化
  • linux命令行技巧
  • 基于javascript的毕业设计
  • jquery插件怎么用到自己的网站
  • 我的自定义计划怎么删除
  • python记录运行状态的模块
  • 简单的设计模式
  • python字典x in d
  • python怎么写函数
  • google it automation with python
  • 为什么医保卡显示无效
  • 青岛胶州国际机场在哪个区
  • 消费税的征税范围包括
  • 商品代码是啥
  • 租房协议中怎样签字
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设