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 :
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);
Dans ce code, nous convertissons d'abord les chaînes 'updated_at' en 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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3