Maison >interface Web >js tutoriel >Comment trier un tableau d'objets en fonction d'un attribut spécifique en Java/JavaScript à l'aide de la méthode sort() et d'une fonction de comparaison ?

Comment trier un tableau d'objets en fonction d'un attribut spécifique en Java/JavaScript à l'aide de la méthode sort() et d'une fonction de comparaison ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-23 11:35:02505parcourir

How to Sort an Object Array Based on a Specific Attribute in Java/JavaScript Using the sort() Method and a Comparator Function?

Tri de tableaux d'objets avec jQuery/JavaScript

Afin de trier un tableau d'objets en fonction d'un attribut spécifique, vous pouvez tirer parti du JavaScript méthode sort() en conjonction avec une fonction de comparaison personnalisée.

Fonction de comparaison

La fonction de comparaison détermine l'ordre de tri. Dans ce cas, pour trier par l'attribut "nom" par ordre croissant, créez une fonction comme celle-ci :

<code class="javascript">function SortByName(a, b) {
  var aName = a.name.toLowerCase();
  var bName = b.name.toLowerCase();
  return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));
}</code>

Cette fonction compare les attributs "nom" de deux objets (a et b) en minuscules. Il renvoie :

  • -1 si aName est inférieur à bName
  • 1 si aName est supérieur à bName
  • 0 si aName est égal à bName

Tri des tableaux

Avec la fonction de comparaison en place, vous pouvez trier le tableau à l'aide de la méthode sort() :

<code class="javascript">array.sort(SortByName);</code>

Cela triera le tableau par ordre croissant en fonction de l'attribut "nom".

Remarque sur la question en double

La question d'origine a été marquée comme un doublon même si elle a été posée avant le question "dupliquée". Cela peut être dû au fait que les deux questions portaient sur le tri de tableaux d'objets, mais que les détails spécifiques sur la façon d'utiliser une fonction de comparaison n'étaient peut-être pas clairs dans la question d'origine. La question en double fournissait une solution plus détaillée et spécifique, ce qui aurait pu conduire à déterminer qu'il s'agissait d'une meilleure ressource pour les utilisateurs.

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