Maison  >  Article  >  interface Web  >  Comment trier des tableaux d'objets par attribut à l'aide de JQuery/JavaScript ?

Comment trier des tableaux d'objets par attribut à l'aide de JQuery/JavaScript ?

DDD
DDDoriginal
2024-10-23 10:51:02553parcourir

How to Sort Arrays of Objects by Attribute Using JQuery/JavaScript?

Tri des tableaux d'objets avec JQuery/JavaScript

En JavaScript, vous pouvez rencontrer des tableaux d'objets qui nécessitent un tri en fonction d'attributs spécifiques. Pour trier un tableau d'objets par un attribut spécifique, tel que « nom » dans votre cas, suivez ces étapes :

  1. Extraire les attributs : Créez une fonction d'assistance qui extrait le attribut souhaité de chaque objet du tableau. Dans votre cas, ce serait function(object) { return object.name; }.
  2. Définir une fonction de comparaison : Implémentez une fonction de comparaison qui prend deux objets et compare leurs attributs spécifiés. Pour trier par "nom" dans l'ordre croissant, utilisez function(a, b) { return a.name.toLowerCase() - b.name.toLowerCase(); }.
  3. Utilisez Array.sort() : Appliquez la méthode sort() au tableau avec la fonction de comparaison fournie en paramètre : array.sort(comparisonFunction);.

Exemple :

Considérons le tableau d'objets suivant :

<code class="javascript">var array = [
  { id: 1, name: "Alice", value: 10 },
  { id: 2, name: "Bob", value: 15 },
  { id: 3, name: "Carl", value: 5 }
];</code>

Pour trier le tableau par "nom" dans l'ordre croissant, utilisez le fonction suivante :

<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>

Appliquer le tri en utilisant :

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

Le tableau résultant sera trié par "nom" dans l'ordre croissant :

<code class="javascript">[
  { id: 3, name: "Carl", value: 5 },
  { id: 1, name: "Alice", value: 10 },
  { id: 2, name: "Bob", value: 15 }
]</code>

Concernant la question en double :

Il semble que la question ait été précédemment fermée en double car elle était considérée comme similaire à une question ultérieure qui a reçu plus d'attention. Cependant, cette question a été posée plus tôt et n'aurait pas dû être marquée comme doublon.

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