Maison >interface Web >js tutoriel >Comment trier un tableau d'objets par une seule clé de date ?

Comment trier un tableau d'objets par une seule clé de date ?

DDD
DDDoriginal
2024-11-04 02:41:02565parcourir

How to Sort an Array of Objects by a Single Date Key?

Tri d'un tableau d'objets par une seule clé de date

Pour trier un tableau d'objets par une seule clé contenant une valeur de date, l'approche la plus efficace consiste à utiliser la méthode Array.sort. Voici comment procéder :

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);
  // Compare the 2 dates
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
});

console.log(arr);

Dans cet exemple, nous avons un tableau d'objets nommé "arr" contenant trois objets, chacun avec une clé "updated_at" contenant une valeur de date.

La méthode Array.sort prend une fonction de comparaison comme argument. Dans la fonction de comparaison fournie :

  1. Nous extrayons les valeurs "updated_at" de chaque objet en tant qu'objets Date.
  2. Nous comparons les deux objets Date. Si le premier est antérieur au second, on renvoie -1. Si c'est plus tard, nous renvoyons 1. S'ils sont égaux, nous renvoyons 0.
  3. Cette fonction de comparaison trie le tableau par ordre croissant en fonction des valeurs "updated_at".

Le Le tableau trié est ensuite enregistré sur la console, affichant les objets par ordre chronologique.

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:
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
Article précédent:POO - Défis JavaScriptArticle suivant:POO - Défis JavaScript