简体   繁体   English

按日期属性对对象数组进行排序

[英]Sort array of objects by date property

Hello guys I want to sort array by " New_date " but in some cases there is another object inside of main object with key " New_date ".大家好,我想按“ New_date ”对数组进行排序,但在某些情况下,主对象内部还有另一个对象,键为“ New_date ”。 Do you know how could I sort array in this case?你知道在这种情况下我如何对数组进行排序吗?

  arr.sort(function(a, b) {

        a = new Date(a.New_date);
        b = new Date(b.New_date);
        return a>b ? -1 : a<b ? 1 : 0;
    });

arr= 
[0: {name:"Angel", data "random data", New_date: "2020-12-10"},  
 1: [0: {name:"Tom", data "random data"},
     1: {name:"Tom", data "random data"},
     New_date:"2020-11-10"],  
 2:name:"Angel", data "random data", New_date: "2020-09-10"}]

在此处输入图片说明

Here is a solution with a correctly formatted array.这是一个具有正确格式数组的解决方案。

 let arr = [ { name: "Angel", data: "random data", New_date: "2020-12-10" }, { name: "Tom", data: "random data", New_date: "2019-11-10" }, { name: "Tom", data: "random data", New_date: "2020-11-10" }, { name: "Angel", data: "random data", New_date: "2020-09-10" }, ] console.log('ascending', arr.sort((a, b) => new Date(a.New_date) - new Date(b.New_date))) console.log('descending', arr.sort((a, b) => new Date(b.New_date) - new Date(a.New_date)))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM