Comment trier un tableau d'objets par jour?
Je suis en train de trier un tableau d'objets avec chaque objet contenant:
var recent = [{id: "123",age :12,start: "10/17/13 13:07"} , {id: "13",age :62,start: "07/30/13 16:30"}];
Format de la Date: mm/dd/yy hh:mm
.
Je veux trier dans l'ordre de la date la plus récente en premier. Si la date est la même, il devrait être triés en fonction de leur temps de parties.
J'ai essayé de le ci-dessous sort()
fonction, mais ça ne fonctionne pas:
recent.sort(function(a,b))
{
a = new Date(a.start);
b = new Date(b.start);
return a-b;
});
Aussi comment dois-je effectuer une itération sur les objets pour le tri? Quelque chose comme:
for (var i = 0; i < recent.length; i++)
{
recent[i].start.sort(function (a, b)
{
a = new Date(a.start);
b = new Date(b.start);
return a-b;
} );
}
Il peut être n'importe quel nombre d'objets dans le tableau.
Vous devez vous connecter pour publier un commentaire.
Comme cela a été souligné dans les commentaires, la définition de ces dernières n'est pas correct javascript.
Mais en supposant que les dates sont des chaînes de caractères:
trier ensuite comme ceci:
Plus de détails sur la fonction de tri de W3Schools
return
déclarationgetTime()
valeurs, même si je ne trouve pas cette exigence dans toutes les spécifications.mm/dd/yy
format n'est pas portable.Cette fonction vous permet de créer un comparateur qui va à pied un chemin d'accès à la clé que vous souhaitez comparer:
JS:
ES6: