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

时间:2020-02-19 14:58:12

标签: javascript arrays sorting javascript-objects

大家好,我想按“ New_date ”对数组进行排序,但是在某些情况下,主对象中还有另一个对象,其键为“ New_date ”。您知道在这种情况下如何对数组进行排序吗?

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

enter image description here

1 个答案:

答案 0 :(得分:0)

这是数组格式正确的解决方案。

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)))