Maison  >  Article  >  interface Web  >  Comment trier un tableau d'objets JavaScript par nom d'attribut ?

Comment trier un tableau d'objets JavaScript par nom d'attribut ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-23 10:54:17599parcourir

How to Sort an Array of JavaScript Objects by Attribute Name?

Tri d'un tableau d'objets par nom d'attribut à l'aide de JavaScript

En JavaScript, les tableaux d'objets peuvent être triés en fonction d'attributs spécifiques. Ce processus devient nécessaire lorsqu'il s'agit de structures de données complexes où le maintien de l'ordre est crucial.

Question :

Comment un tableau d'objets peut-il être trié par ordre croissant d'un attribut (par exemple, "nom") ?

Réponse :

Pour trier un tableau d'objets en fonction d'un nom d'attribut, une fonction de comparaison personnalisée peut être définie et transmise à la méthode sort(). Voici un exemple :

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

// Sort the array
array.sort(SortByName);

Dans cet exemple, la fonction SortByName compare les versions minuscules de la propriété "name" pour chacun des deux objets (a et b) du tableau. Si le résultat est inférieur à 0, l'objet a est placé avant l'objet b, s'il est supérieur à 0, b est placé avant a, et s'il vaut 0, l'ordre reste inchangé.

En passant cette fonction pour trier (), le tableau est trié par ordre croissant de l'attribut "name". La comparaison en minuscules garantit que les noms avec des casses différentes sont traités de la même manière.

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