Как отсортировать массив, содержащий пару ключ-значение по дате - PullRequest
0 голосов
/ 02 января 2019

Ниже массив.Что мне нужно сделать, так это отсортировать массив по последней дате.Так что, в принципе, если вы посмотрите код после сортировки, id: 12 должен предшествовать id: 23

Я пытался

   myArray.sort(function(a, b) {
   return a.date- b.date;
   });

, но он не работает

0:    
{ id: 23
name: "joe"
price: 2300
date: "2018-06-01T09:48:18.000Z"},
1:
{ id: 12
name: "ali"
price: 300
date: "2018-09-01T09:48:1i.000Z"},

Ответы [ 2 ]

0 голосов
/ 02 января 2019

В следующем примере объясняется, как отсортировать массив по датам

    var array=[{'date':'2018-06-05T09:48:18.000Z'},{'date':'2018-06-01T09:48:18.000Z'},{'date':'2018-04-01T09:48:18.000Z'}];
    array.sort(function(a,b){
      //convert your string into dates
      return new Date(a.date) - new Date(b.date);
    });
    console.log(array)
0 голосов
/ 02 января 2019

Используя дату, совместимую с ISO 8601 , вы можете напрямую взять строки для сортировки с String#localeCompare.

var array =  [{ id: 23, name: "joe", price: 2300, date: "2018-06-01T09:48:18.000Z" }, { id: 12, name: "ali", price: 300, date: "2018-09-01T09:48:1i.000Z" }];

array.sort(function(a, b) {
    return b.date.localeCompare(a.date); // desc
});

console.log(array);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...