Trier un tableau d'objets par une clé spécifique est une tâche courante en JavaScript. Cela peut être particulièrement utile lorsqu'il s'agit d'horodatages tels que « updated_at ».
Pour ce faire, nous pouvons utiliser la méthode intégrée Array.sort(). Cette méthode prend comme argument une fonction de comparaison, qui détermine l'ordre des éléments dans le tableau.
Par exemple, considérons un tableau d'objets avec une clé 'updated_at' :
[ { "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 en fonction de la clé 'updated_at', nous pouvons utiliser la fonction de comparaison suivante :
function compare(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; }
Cette fonction compare les valeurs 'updated_at' de deux objets et renvoie une valeur négative, positive ou valeur nulle selon que le premier objet est plus tôt, plus tard ou en même temps que le deuxième objet.
En passant cette fonction de comparaison à la méthode Array.sort(), nous pouvons trier le tableau d'objets dans ordre croissant de 'updated_at' :
arr.sort(compare);
Le tableau trié résultant aura les objets classés de la plus ancienne à la dernière valeur 'updated_at'.
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!