Maison  >  Article  >  interface Web  >  Comment trier un tableau d'objets par un attribut (par exemple, \"nom\") en JavaScript ?

Comment trier un tableau d'objets par un attribut (par exemple, \"nom\") en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-23 10:55:58332parcourir

How to Sort an Array of Objects by an Attribute (e.g.,

Tri d'un tableau d'objets en fonction d'un attribut avec jQuery ou JavaScript

Dans le développement Web, il est courant de travailler avec des objets stockés dans des tableaux . Le tri de ces objets peut être nécessaire pour divers scénarios, tels que l'affichage des données dans un ordre spécifique. Dans cette question, l'objectif est de trier un tableau d'objets par ordre croissant en fonction de l'attribut "name".

Pour y parvenir, nous pouvons utiliser la fonction de tri JavaScript avec une fonction de comparaison personnalisée. Une fonction de comparaison est une fonction qui prend deux éléments de tableau en entrée et renvoie une valeur négative, nulle ou positive en fonction de la comparaison.

La fonction de comparaison fournie, SortByName, commence par convertir les deux attributs « nom » en minuscule pour un tri insensible à la casse. Il compare ensuite les deux valeurs en utilisant la logique suivante :

  • Si aName est inférieur à bName, il renvoie -1.
  • Si aName est supérieur à bName, il renvoie 1.
  • S'ils sont égaux, cela renvoie 0.

En utilisant cette fonction de comparaison, nous pouvons l'appliquer à la fonction de tri comme ceci :

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

Ceci triera le tableau par ordre croissant en fonction de l'attribut "name".

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