开发者

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


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.


The easiest way to sort an array by date in JavaScript, Here is an example of how this method of sorting an array by date in JavaScript looks

 const fetchMessageData = () => {

        return (
            AllMessagesArr.sort((x, y) => {
                return new Date(x.timestamp) < new Date(y.timestamp) ? 1 : -1
            })
        ).reverse()
    }

         console.log("Display messages in Ascending order" ,fetchMessageData())  

Sort the array on basis of timestamp

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜