Comment trier un tableau d'objets par valeur en JavaScript ?

Trier un tableau en Javascript est simple, mais que se passe-t-il quand on a un tableau d'objets ? Cela rend les choses un peu plus complexes.

Article publié le et mis à jour le .
Comment trier un tableau d'objets par valeur en JavaScript ?
🎯 PRATIQUE

Projet Python : Pratiquez et Progressez !

🚀 Maîtrisez Python par la pratique ! Développez vos projets de zéro. Idéal pour débuter et apprendre à coder efficacement.

Projets pratiques
De zéro à pro
Exercices codage

Ce que vous allez apprendre :

Types et Variables
Conditions et Boucles
Fonctions et Classes
Fichiers et Modules
4.4+/5
1100+ étudiants
58 sessions
2+ heures

⏰ Accès immédiat • 💻 Exercices pratiques • 🎓 Progression garantie

Développez vos compétences par la pratique
Prêt à coder

Trier un tableau en Javascript est simple, mais que se passe-t-il quand on a un tableau d’objets ?

Ça rend les choses un peu plus complexes.

Heureusement, Javascript vient avec la méthode .sort à laquelle on peut passer une fonction de tri.

Voyons comment trier un tableau d’objets par valeur en javascript.

TABLEAU_D_OBJETS.sort((a, b) => a.CLE_DE_LA_PROPRIETE - b.CLE_DE_LA_PROPRIETE);

Trier un tableau d’objets par valeur

Prennons un tableau d’objets contenant une famille.

const famille = [
  { prenom: "Martin", nom: "Hollande", age: 38 },
  { prenom: "Jean", nom: "Dumarais", age: 23 },
  { prenom: "Ophélie", nom: "Dubois", age: 43 },
  { prenom: "François", nom: "Barbier", age: 34 },
];

Pour trier cette liste de manière ordonnée par âge, du plus jeune au plus vieux on peut utiliser une méthode intégrée à Array appelée sort().

famille.sort((a, b) => (a.age > b.age ? 1 : -1));

Notre fonction dans sort va comparer un élément avec un autre. Dans ce cas, elle va voir si a est plus grand que b. Cet exemple va ordonner le tableau par ordre croissant avec l’âge le plus jeune en première position du tableau et la personne la plus agée en dernière position .

En affichant notre array d’objet “famille”, on va avoir quelque chose comme ça :

console.log(famille);

// [
//   { prenom: "Jean", nom: "Dumarais", age: 23 },
//   { prenom: "François", nom: "Barbier", age: 34 },
//   { prenom: "Martin", nom: "Hollande", age: 38 },
//   { prenom: "Ophélie", nom: "Dubois", age: 43 },
// ]

Pour inverser l’ordre et le rendre décroissant, il suffit d’inverser la condition :

famille.sort((a, b) => (a.age < b.age ? 1 : -1));

On a maintenant, la personne âgée à l’indice 0 !

Aller plus loin avec la méthode sort en JavaScript

Bravo, vous savez maintenant utiliser la méthode sort sur des tableaux d’objets.

Pour aller plus loin, vous pouvez consulter la documentation mdn sur sort.

🎯 PRATIQUE

Projet Python : Pratiquez et Progressez !

🚀 Maîtrisez Python par la pratique ! Développez vos projets de zéro. Idéal pour débuter et apprendre à coder efficacement.

Projets pratiques
De zéro à pro
Exercices codage

Ce que vous allez apprendre :

Types et Variables
Conditions et Boucles
Fonctions et Classes
Fichiers et Modules
4.4+/5
1100+ étudiants
58 sessions
2+ heures

⏰ Accès immédiat • 💻 Exercices pratiques • 🎓 Progression garantie

Développez vos compétences par la pratique
Prêt à coder