Maison >interface Web >js tutoriel >Comment puis-je trier un tableau d'objets par clé de date à l'aide de JavaScript ?

Comment puis-je trier un tableau d'objets par clé de date à l'aide de JavaScript ?

DDD
DDDoriginal
2024-11-04 06:59:31589parcourir

How can I sort an array of objects by a date key using JavaScript?

Tri d'un tableau d'objets par clé de date à l'aide de JavaScript

Le tri d'un tableau d'objets en fonction d'une clé de date spécifique est une tâche courante en programmation JavaScript. Dans ce cas, nous devons trier un tableau d'objets par la clé 'updated_at', qui représente une date et une heure.

Le moyen le plus efficace d'y parvenir est d'utiliser la méthode Array.sort() dans combinaison avec une fonction de comparaison. La fonction de comparaison prend deux objets en entrée et renvoie une valeur qui détermine l'ordre des objets.

Voici comment procéder :

<code class="javascript">const objects = [{
                    "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"
                }];

// Convert the 'updated_at' strings to JavaScript Date objects
for (let i = 0; i < objects.length; i++) {
    objects[i].updated_at = new Date(objects[i].updated_at);
}

// Sort the objects based on the 'updated_at' dates
objects.sort((a, b) => {
    return a.updated_at - b.updated_at;
});

console.log(objects);</code>

Dans ce code, nous convertissons d'abord le Chaînes 'updated_at' aux objets JavaScript Date pour garantir la cohérence des types de données. Ensuite, nous utilisons la méthode sort() avec une fonction de comparaison qui soustrait les valeurs 'updated_at' de deux objets et renvoie le résultat. Ce résultat détermine l'ordre de tri : si le résultat est négatif, le premier objet vient avant le second ; s'il est positif, le deuxième objet vient en premier ; si zéro, les objets restent dans leur ordre d'origine.

Le résultat final est un tableau trié d'objets, avec les valeurs clés 'updated_at' par ordre chronologique 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:
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