Maison > interface Web > js tutoriel > le corps du texte

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

DDD
Libérer: 2024-10-23 10:51:02
original
551 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

Appliquer le tri en utilisant :

<code class="javascript">array.sort(SortByName);</code>
Copier après la connexion

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!