jQuery - самый быстрый способ сортировки массива по отметке времени - PullRequest
23 голосов
/ 26 сентября 2011

как я могу отсортировать этот массив по отметке времени и какой самый быстрый способ (массив имеет много записей)?

мой массив

  myList = new Array();

  myList[0]               = {};
  myList[0]['title']      = 'I am really new';
  myList[0]['timestamp']  = 1317039046;
  myList[0]['date']       = '2011-09-26T12:10:46+00:00'; 

  myList[1]               = {};
  myList[1]['title']      = 'I am the oldest';
  myList[1]['timestamp']  = 1315656646;
  myList[1]['date']       = '2011-09-10T12:10:46+00:00';

  myList[2]               = {};
  myList[2]['title']      = 'I am older';
  myList[2]['timestamp']  = 1316866246;
  myList[2]['date']       = '2011-09-24T12:10:46+00:00';

  myList[3]               = {};
  myList[3]['title']      = 'I am old';
  myList[3]['timestamp']  = 1316952646;
  myList[3]['date']       = '2011-09-25T12:10:46+00:00';

пример http://jsbin.com/ejagup/2/edit#preview

1 Ответ

57 голосов
/ 26 сентября 2011
myList.sort(function(x, y){
    return x.timestamp - y.timestamp;
})

myList - это массив JavaScript, который поддерживает метод sort.Этот метод принимает функцию в качестве аргумента, которая сортирует массив в соответствии с возвращаемым значением.

В настоящее время алгоритм сортировки размещает элемент с самой низкой отметкой времени первым.Поменяйте местами x.timestamp и y.timestamp, если хотите отсортировать массив в другом направлении.

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