位置: 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 转载请保留说明!

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

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

  • oppowatch2怎么连接蓝牙耳机(oppowatch2怎么连接苹果手机)

    oppowatch2怎么连接蓝牙耳机(oppowatch2怎么连接苹果手机)

  • 文档分页了怎么取消(文档分页了怎么办)

    文档分页了怎么取消(文档分页了怎么办)

  • 小米手机怎么边放音乐边录视频(小米手机怎么边看视频边聊微信)

    小米手机怎么边放音乐边录视频(小米手机怎么边看视频边聊微信)

  • 小米手环5血氧饱和度(小米手环5血氧功能怎么使用)

    小米手环5血氧饱和度(小米手环5血氧功能怎么使用)

  • 淘宝猫币有什么用处(淘宝猫币能干嘛)

    淘宝猫币有什么用处(淘宝猫币能干嘛)

  • 媒体平台类型有哪些(媒体平台的定义)

    媒体平台类型有哪些(媒体平台的定义)

  • 苹果保修是不是在所有店都可以(苹果保修是不是可以免费换电池)

    苹果保修是不是在所有店都可以(苹果保修是不是可以免费换电池)

  • 荣耀x10手机什么时候发布(荣耀x10手机什么屏幕)

    荣耀x10手机什么时候发布(荣耀x10手机什么屏幕)

  • BBS是啥(水木bbs是啥)

    BBS是啥(水木bbs是啥)

  • qq头像模糊怎么解决(qq头像模糊处理方法)

    qq头像模糊怎么解决(qq头像模糊处理方法)

  • 默认移动数据是啥意思(默认移动数据是怎么回事)

    默认移动数据是啥意思(默认移动数据是怎么回事)

  • 拼多多为什么微信支付不了(拼多多为什么微信支付宝都能用)

    拼多多为什么微信支付不了(拼多多为什么微信支付宝都能用)

  • 什么构成了internet应用程序的基础(什么构成了internet应用程序的基础用于编写外部网页)

    什么构成了internet应用程序的基础(什么构成了internet应用程序的基础用于编写外部网页)

  • 钉钉如何更改所有背景(钉钉在哪里修改)

    钉钉如何更改所有背景(钉钉在哪里修改)

  • 手机网络不给力怎么办(手机网络不给力是怎么回事儿)

    手机网络不给力怎么办(手机网络不给力是怎么回事儿)

  • 华为语音读屏怎么关闭(华为语音朗读屏幕)

    华为语音读屏怎么关闭(华为语音朗读屏幕)

  • 华为cun一al00是什么型号(华为cun-al00)

    华为cun一al00是什么型号(华为cun-al00)

  • gd文件用什么程序打开(gd文件格式)

    gd文件用什么程序打开(gd文件格式)

  • word文档怎么增加一列(word文档怎么增加页数)

    word文档怎么增加一列(word文档怎么增加页数)

  • 微信公众号小视频怎么样能上传qq  (微信公众号小视频怎么下载)

    微信公众号小视频怎么样能上传qq (微信公众号小视频怎么下载)

  • 华为nova5pro怎么装卡(华为nova5pro怎么录屏)

    华为nova5pro怎么装卡(华为nova5pro怎么录屏)

  • 计算器上的cnc代表什么(计算器上的cnc代码是什么)

    计算器上的cnc代表什么(计算器上的cnc代码是什么)

  • word怎么增加一条目录(word怎么增加一整页)

    word怎么增加一条目录(word怎么增加一整页)

  • 三星s6手机怎么换电池(三星s6手机怎么录屏)

    三星s6手机怎么换电池(三星s6手机怎么录屏)

  • 手机wifi能开热点吗(手机无线网能不能开热点)

    手机wifi能开热点吗(手机无线网能不能开热点)

  • i3与i5的性能差多少(i3和i5的区别有多大?性能差多少)

    i3与i5的性能差多少(i3和i5的区别有多大?性能差多少)

  • Vue3 + Element Plus 按需引入 - 自动导入(vue3elementplus首页布局)

    Vue3 + Element Plus 按需引入 - 自动导入(vue3elementplus首页布局)

  • 城市维护建设税的计税依据是什么
  • 借款利息税前扣除标准例题
  • 国债利息收入计入财务费用吗
  • 企业理财收益要交哪些税
  • 转让生产指标的企业所得税
  • 小规模没有成本票企业所得税怎么办呀
  • 公益性捐赠税前扣除资格有效期
  • 可以采用三栏式的明细账的有
  • 房租发票上税的分录怎么写?
  • 企业所得税税前扣除异常是什么意思
  • 租赁的设备伤人了谁的责任
  • 柴油可以销售吗
  • 销售旧货时的售后是什么
  • 无偿代建政府公告
  • 清单申报和专项申报的区别
  • 附加税水利行政事业是否取消?
  • 金税盘全额抵扣分录
  • 个人取得利息需要缴纳增值税吗
  • 银行汇票的背书转让金额
  • 银行端现金缴税凭证
  • 已付款无法收到发票怎么处理
  • 农产品进项转出的规定
  • 购入一台设备的会计分录
  • 如何在win11上安装旧版ie
  • 软件登记费用
  • 传媒改革
  • win10电源高性能被删了
  • 交易性金融资产包括哪些项目
  • 每个建筑项目都有监理吗
  • thinkphp框架安装
  • 持有至到期投资减值准备
  • 蒙塔巴诺督查
  • 基于Python实现五大常用分类算法(原理+代码)
  • 申请个人所得税
  • win11硬件加速gpu计划怎么关
  • 交易性金融资产的入账价值
  • css伪类选择器怎么用
  • 小微企业会计制度是什么
  • 旅行社的增值税怎么算
  • 去年的普票可以开红字吗
  • 财政补贴收入账务处理
  • 计提的坏账准备计入什么科目
  • 企业购进生产设备的会计分录
  • 个人所得税数据怎么导入新电脑
  • 算税负是含税还是不含税
  • 代销商品税率是多少
  • 实收资本核算内容是什么
  • 购买原材料的支出
  • 分公司挣的钱归谁所有
  • 长期待摊费用该怎么记账
  • 写个电影剧本多少钱
  • 某首饰商城为增值税一般纳税人,2021年1月发生以下业务
  • 关税 账务处理
  • 上年的原材料发票可以算今年的成本吗
  • 商品盘点库存的方法
  • Windows下MySQL5.7.18安装教程
  • ubuntu server gui
  • xp系统怎么添加ip地址
  • mac支持的字体格式
  • 输入法不显示怎么处理
  • win8.1改语言
  • linux安装有几种方法
  • mac10.95升级
  • awk结果输出到文件
  • 如何关闭win10自动升级win11
  • vim如何复制粘贴
  • unity3drpg游戏教程
  • Android getTopActivity的方法
  • javascript有哪些
  • node.js ajax
  • flask框架官方文档
  • js中eval函数是干嘛的
  • python pil库官网
  • unity打包后的程序闪退
  • jquery删除对象
  • 中国纳税大户排行
  • 山东税务社保费用缴纳
  • 湖南低保查询网上查询
  • 广东国税局局长是谁
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设