Maison > interface Web > js tutoriel > Comment trier des objets par valeur de date à l'aide d'une clé ?

Comment trier des objets par valeur de date à l'aide d'une clé ?

Susan Sarandon
Libérer: 2024-11-02 21:41:30
original
845 Les gens l'ont consulté

How to Sort Objects by Date Value Using a Key?

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"
    }
]
Copier après la connexion

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);
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal