按时间戳对数组进行排序的最快方法

2022-01-13 00:00:00 timestamp sorting javascript

如何按时间戳对这个数组进行排序,最快的方法是什么(数组有很多条目)?

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

我的数组

  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

推荐答案

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

myList 是一个 JavaScript 数组,支持 sort 方法.该方法接受一个函数作为参数,该函数根据返回值对数组进行排序.

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.

目前,排序算法会将时间戳最低的元素放在最前面.如果你想在另一个方向对数组进行排序,交换 x.timestampy.timestamp.

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.

相关文章