精华内容
下载资源
问答
  • 2021-12-27 15:37:24

    一、业务场景

            有一个对象数组,每个对象中有一个日期属性,需要比较日期大小,实现升序输出。

    二、实现方式

            利用sort函数。

    三、详细说明

            1、简单数组的排序示例--升序

    //简单用法
    [2,6,3,88,45].sort();
    
    //输出
     [2, 3, 45, 6, 88]
    
    //说明
    如果只用sort()函数,默认升序排序

            2、简单数组的排序示例--降序

    //写法示例
    [2,6,3,88,45].sort(function(a,b)
    {    if(a>b){
            return -1
          }else if(a<=b){
            return 1}
    })
    
    //输出
    [88, 45, 6, 3, 2]
    
    //说明
    sort函数的参数是一个函数。该函数有两个参数a,b(可以任意指定),a在b的前面,通过比较大小,如果返回值大于0,则互换a,b的位置;如果返回值小于0,则不互换位置。
    
    上述示例,如果a>b 返回1,则实现的效果是升序

            3、对象数组的示例--升序

        timeList = timeList.sort(function (val1, val2) {
          if (!isNaN(Number(val1.date)) && !isNaN(Number(val2.date))) {
            val1.date = Number(val1.date);
            val2.date = Number(val2.date);
          }
          if (val1.date < val2.date) {
            return 1;
          } else if (val1.date > val2.date) {
            return -1;
          } else {
            return 0;
          }
        })
    
        //说明
    timeList:对象数组
    date:timeList中对象的属性
    

    四、写在最后

    欢迎各位同学一起交流

    更多相关内容
  • 假定一个带日期数组: var timeArr=[ {'id':'A01','date':'2016-04-20 23:22:11'}, {'id':'A02','date':'2016-04-21 21:00:11'}, {'id':'A03','date':'2016-04-23 22:00:22'}, {'id':'A04','date':'2016-04-19...

    假定一个带日期的数组:

    var timeArr=[
        {'id':'A01','date':'2016-04-20 23:22:11'},
        {'id':'A02','date':'2016-04-21 21:00:11'},
        {'id':'A03','date':'2016-04-23 22:00:22'},
        {'id':'A04','date':'2016-04-19 12:22:00'},
        {'id':'A05','date':'2016-02-19 11:11:00'}
    ];
    

    下面对数组里面的数据进行排序处理:

    //对数组根据日期进行排序
    function sortDataArray(dataArray){
        return dataArray.sort(function(a,b) {
            return Date.parse(b.date.replace(/-/g,"/"))-Date.parse(a.date.replace(/-/g,"/"));
        });
    }
    
    //输出排序后的结果
    console.log(sortDataArray(timeArr));
    
    展开全文
  • 排序在项目中还是挺常用的,一般都是从后台获取数组对象,然后根据其中的一个属性进行升序或者降序处理,下面我们就来根据栗子介绍一下; 1、封装数组对象排序方法; // 封装数组对象排序方法 compare(prop) { ...

    排序在项目中还是挺常用的,一般都是从后台获取数组对象,然后根据其中的一个属性进行升序或者降序处理,下面我们就来根据栗子介绍一下;

    1、封装数组对象排序方法;

    // 封装数组对象排序方法

            compare(prop) {

                return function(a, b) {

                    return b[prop] - a[prop]  // 降序

                    //  return a[prop] - b[prop]  // 升序

                }

            },

    // 比如arrList对象中根据score属性进行从大到小的排序

       this.arrList = this.arrList.sort(this.compare('score'))

    2、按照数组中的日期对象进行排序

    升序:

    // 如何对数组进行排序,从最早到最新,反之亦然?

    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"}
    ];

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

    控制台打印:

     
    降序:

    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"}
    ];

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

    控制输出:

    参考文章: JS—如何按日期对象数组进行排序,然后按时间顺序进行降序排序? - 可樂_Thompson - 博客园

    展开全文
  • js对象数组按时间进行排序 var demandData=[ { "demandName":"需求1", "proposeTime":"2021-05-23", "exactTime":"2021-05-23 13:23:21" }, { "demandName":"需求2", "proposeTime":"2022-04-21", "exact...

    js对象数组按时间进行排序

    var demandData=[
      {
        "demandName":"需求1",
        "proposeTime":"2021-05-23",
        "exactTime":"2021-05-23 13:23:21"
      },
      {
        "demandName":"需求2",
        "proposeTime":"2022-04-21",
        "exactTime":"2021-05-23 14:23:21"
      },
      {
        "demandName":"需求3",
        "proposeTime":"2022-04-02""exactTime":"2021-05-23 10:28:11"
      },
      {
        "demandName":"需求4",
        "proposeTime":"2022-04-13",
        "exactTime":"2021-05-23 16:18:34"
      }
    ]
    //时间排序
    //prop:对象数组排序的键,
    //align:排序方式,"positive"正序,"inverted"倒序。
    compare(prop,align){
    	return function(a,b){
            var value1=a[prop];
            var value2=b[prop];
            if(align=="positive"){//正序
                return new Date(value1)-new Date(value2);
            }else if(align=="inverted"){//倒序
                return new Date(value2)-new Date(value1);
            }
    	}
    }
    demandData.sort(this.compare('proposeTime','inverted'));
    console.log("倒叙排列",demandData)
    //demandData.sort(this.compare('exactTime','positive'));
    //console.log("正序排列",demandData)
    

    本文参考链接:https://blog.csdn.net/qq_42740797/article/details/111224803

    展开全文
  • js数组中的对象排序和按日期排序

    千次阅读 2020-08-02 21:29:12
    1、数组中的对象排序 that.sjjsList.sort(function(a,b){ if (a.jsbl === b.jsbl) { return a.distcode-b.distcode } else { return b.jsbl - a.jsbl; } ...
  • var allMyApp = [ {"startDate": ... //arr就是最终的排序后的数组 console.log(arr); function sortDate(a,b){ return a.timeStartApp-b.timeStartApp } 转载于:https://www.cnblogs.com/qing619/p/9284249.html
  • // 按日期分组 let newArr = []; res.data.forEach((item,i)=>{ let index = -1; let isExists = newArr.some((newItem,j)=>{ if(item.date==newItem.date){ index =...
  • Say you have an array of objects like this, which ... 假设您有一个像这样的对象数组,其中包含一组日期对象 : const activities = [ { title: 'Hiking', date: new Date('2019-06-28') }, { title: 'Sh...
  • 数组对象按日期进行排序

    千次阅读 2020-11-09 17:21:45
    按日期格式的对象数组进行排序 需求: 接口返回数据要求对日期格式进行排序 demo实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" ...
  • [Java教程]json数组按照日期先后排序02018-07-09 02:00:27var allMyApp = [ {"startDate": "2018-07-07 12:30:00",'name':'aa'}, {"startDate": "2018-07-09 12:30:00",'name':'bb'}, {"startDate": "2018-07-05 12:...
  • resultArr.forEach(item =>{ targetArr.push(item.date) }) 方法二: 直接将需要排序日期数组传到方法中使用sort进行排序。 let dataArr = ["2021-05-22","2021-05-12","2021-05-18","2021-05-17","2021-05-19...
  • 【技术】js数组按日期排序

    千次阅读 2017-07-11 11:51:27
    升序排序 //升序排序 arr.sort(function(a, b) { if (a.doneTime ) { return -1; } else if (a.doneTime > b.doneTime ) { return 1; } else {
  • 数组对象时间排序

    2022-03-23 09:02:40
    js排序,对时间进行排序
  • 将一个js数组按日期分组的实现方法

    万次阅读 2018-02-07 14:49:46
    步骤:将毫秒转换成日期格式----处理数组---返回需要的数据格式[{ time : "" ,location:[]}] 方法: // 转换时间 function transDate(n) { var date = new Date(n); var Y = date.getFullYear() + '-' ...
  • js的简单数组排序 第一种: // 冒泡排序:把所有数据按照一定的顺序进行排序 var arr1 = [10, 90, 55, 43, 23, 8, 79]; //循环控制比较的轮数 for (var i = 0; i < arr1.length - 1; i++) { //控制每一轮的...
  • <!DOCTYPE html><... <head> <meta charset="UTF-8"> <...数组排序</title> </head> <body> </body> <script type="text/javascript"> var a=[{pac...
  • /** * 计算两个日期之间的... * @returns {number} 如果日期相同 返回一天 开始日期大于结束日期,返回0 */ function getDaysBetween(dateString1,dateString2){ var startDate = Date.parse(dateString1); var e
  • https://www.cnblogs.com/Ky-Thompson23/p/13390824.html
  • reverse方法将一个Array对象中的元素位置进行反转,sort方法返回一个元素已经进行了排序的 Array 对象,下面为大家介绍下
  • 需求:讲一段无序的的数组对象先按照日期排序,日期相同的再按照名称排序(名称排序是为了将名称前缀相同的放在一起) 数据: newFundlist: [ { issueenddate: "2021-12-25", issuestartdate: "2021-12-13", ...
  • 示例对象数组如下,每个对象中都有一个时间戳,现在要求将每个对象按照其中的时间戳对应的天数进行排列,如何实现? 需求分析 示例代码如下: var list = [ { time: 1525681075426, curURL: '...
  • <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>...script src="../js/echarts.min.js"></script> </head&g...
  • vue 数组对象 时间排序

    千次阅读 2022-03-18 15:15:28
    //根据指定字段 规则排序 这里是获取时间的时间戳然后比较 function sortData(a, b){ return new Date(b.submissionTime).getTime() - new Date(a.submissionTime).getTime() } //注意 vue调用时 要把这个方法...
  • // 排序方法 for (let i=0;i<list.length;i++){ for (let j=i;j<list.length;j++){ if(new Date(list[i].replace(/-/,'/')) - new Date(list[j].replace(/-/,'/'))>0){ let listObj=list[i];
  • * data 需要处理的数组对象,key为当前数组每一个item 里面 时间字段(YYYY-MM-DD格式), * 可用moment处理成这种格式, * 若顺序相反 也可借助数组 reverse()进行反转顺序 */ export const sortData = (data,...
  • 或通过String#localeCompare将日期字符串反转后使用字符串比较。 let sortedCars1 = cars.sort((a, b) => a.initialRegistration.split('/').reverse().join().localeCompare(b.initialRegistration.split('/')....
  • 插入排序法(插队排序) 将要排序数组分成两部分,每次从后面的部分取出索引最小的元素插入到前一部分的适当位置 1 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序的元素序列中从后向前...
  • js对象数组按对象的时间排序 function sortDownDate(a, b) { //currentSubTime是对象中时间的字段 return Date.parse(a.currentSubTime) - Date.parse(b.currentSubTime); } 使用这个函数 //res是需要排序...
  • //对数组根据日期进行排序 sortDataArray(dataArray) { return dataArray.sort(function (a, b) { return Date.parse(b.createTime.replace(/-/g, "/")) - Date.parse(a.createTime.replace(/-/g, "/")); }); ...
  • 按照月份和日期进行升序 let json = [{ "mon": "1", "day": "15" }, { "mon": "2", "day": "1" }, { "mon": "1", "day": "14

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,362
精华内容 10,544
关键字:

js数组按日期排序