javascriptsortingtimestamp

Fastest way to sort an array by timestamp


how can i sort this array by timestamp and what is the fastest way (array has many many entries)?

my array

  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';

example
http://jsbin.com/ejagup/2/edit#preview


Solution

  • myList.sort(function(x, y){
        return x.timestamp - y.timestamp;
    })
    

    myList is a JavaScript array, which supports the sort method. This method accepts a function as argument, which sorts the array according to the returned value.

    Currently, the sort algorithm will place the element with the lowest timestamp first. Swap x.timestamp and y.timestamp if you want to sort the array in the other direction.