Retour au blog

Trier un Tableau d'Objets avec sort()

Si vous avez deja eu besoin de trier un Tableau d'Objets, vous avez certainement entendu parler de la methode sort(). Mais saviez-vous qu'il est possible de personnaliser le tri selon vos besoins ?

La methode sort() accepte comme parametre optionnel une fonction de comparaison, qui definit le critere de tri des elements du tableau. Cette fonction recoit deux parametres, qui representent deux elements du tableau a comparer, et doit retourner un nombre negatif si le premier element est plus petit que le second, un nombre positif si le second est plus petit que le premier, et zero si les deux sont egaux.

Par exemple, imaginez que vous avez un tableau d'objets qui represente une liste d'etudiants, et chaque objet a deux proprietes : "nom" et "note". Pour trier cette liste par ordre alphabetique de nom, vous pouvez utiliser la methode sort() avec la fonction de comparaison suivante :

listeEtudiants.sort((etudiantA, etudiantB) => {
  if (etudiantA.nom < etudiantB.nom) {
    return -1;
  } else if (etudiantA.nom > etudiantB.nom) {
    return 1;
  } else {
    return 0;
  }
});

Dans cet exemple, la fonction de comparaison verifie si le nom de etudiantA est inferieur au nom de etudiantB. Si c'est le cas, elle retourne -1. Si c'est superieur, elle retourne 1. S'ils sont egaux, elle retourne 0. Avec cette fonction, la methode sort() trie la liste d'etudiants par ordre alphabetique de nom.

Et si vous vouliez trier la liste par ordre decroissant de note ? Il suffit de modifier la fonction de comparaison :

listeEtudiants.sort((etudiantA, etudiantB) => etudiantB.note - etudiantA.note);

Dans ce cas, la fonction de comparaison soustrait la note de etudiantB par la note de etudiantA, ce qui donne un nombre positif si la note de etudiantB est superieure a celle de etudiantA, et un nombre negatif si elle est inferieure. Avec cette fonction, la methode sort() trie la liste d'etudiants par ordre decroissant de note.

Il est important de noter que la methode sort() modifie le tableau original et ne cree pas une copie triee. Si vous voulez garder le tableau original intact, vous devez creer une copie avant de le trier.

Alors, vous avez aime en apprendre plus sur la methode sort() ? Vous l'avez deja utilisee pour trier des tableaux d'objets ? Si vous avez des questions, n'hesitez pas a les poser dans ma boite a questions sur Instagram, je suis la pour vous aider.

C'est parti !

Commentaires (0)

Cet article n'a pas encore de commentaires. Soyez le premier!

Ajouter des commentaires