Maison >interface Web >js tutoriel >Comment trier des objets par valeur de date à l'aide d'une clé ?
Tri des objets par valeur de date à l'aide d'une clé
Pour trier efficacement un tableau d'objets par une seule clé avec une valeur de date, telle que 'updated_at', vous pouvez utiliser la méthode Array.sort intégrée. Considérons le tableau suivant :
[ { "updated_at" : "2012-01-01T06:25:24Z", "foo" : "bar" }, { "updated_at" : "2012-01-09T11:25:13Z", "foo" : "bar" }, { "updated_at" : "2012-01-05T04:13:24Z", "foo" : "bar" } ]
Pour trier ces objets par 'updated_at' dans l'ordre croissant, vous pouvez utiliser la fonction de comparaison personnalisée suivante avec la méthode de tri :
var arr = [{ "updated_at": "2012-01-01T06:25:24Z", "foo": "bar" }, { "updated_at": "2012-01-09T11:25:13Z", "foo": "bar" }, { "updated_at": "2012-01-05T04:13:24Z", "foo": "bar" } ] arr.sort(function(a, b) { var keyA = new Date(a.updated_at), keyB = new Date(b.updated_at); if (keyA < keyB) return -1; if (keyA > keyB) return 1; return 0; }); console.log(arr);
Dans ce fonction de comparaison, nous convertissons les valeurs 'updated_at' en objets Date (keyA et keyB) à l'aide du constructeur Date(). Nous comparons ensuite ces objets Date à l’aide d’opérateurs de comparaison (<, > et ==). Si keyA est antérieur à keyB, la fonction renvoie -1, indiquant la nécessité d'échanger les objets du tableau. Si keyA est postérieur à keyB, la fonction renvoie 1, garantissant que keyA apparaît après keyB dans le tableau trié. La valeur de retour de 0 indique que les objets sont à la même position et qu'aucun échange n'est requis.
Cette technique de tri classe efficacement les objets en fonction de leurs valeurs de date 'updated_at' dans l'ordre croissant. Vous pouvez modifier les opérateurs de comparaison pour obtenir différents ordres de tri, comme l'ordre décroissant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!