39 votes

Moyen le plus rapide de trier un tableau par horodatage

comment puis-je trier ce tableau par horodatage et quel est le moyen le plus rapide (tableau a beaucoup d'entrées) ?

mon tableau

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

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

87voto

Rob W Points 125904
myList.sort(function(x, y){
    return x.timestamp - y.timestamp;
})

myList est un tableau JavaScript, qui prend en charge la méthode sort. Cette méthode accepte une fonction comme argument, qui trie le tableau en fonction de la valeur retournée.

Actuellement, l'algorithme de tri placera l'élément avec l'horodatage le plus bas en premier. Changez x.timestamp et y.timestamp si vous voulez trier le tableau dans l'autre direction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X