Сортировать массив объектов по дате - PullRequest
0 голосов
/ 19 февраля 2020

Здравствуйте, ребята. Я хочу отсортировать массив по " 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 голосов
/ 19 февраля 2020

Вот решение с правильно отформатированным массивом.

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