按时间戳对数组进行排序的最快方法
如何按时间戳对这个数组进行排序,最快的方法是什么(数组有很多条目)?
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.timestamp
和 y.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.
相关文章