Comment trier un tableau en JavaScript

La fonction sort() est utilisée pour trier un tableau selon un ordre donné en fonction de la méthode compare(). Si la méthode est omise, le tableau est trié par ordre croissant.
 
 

Syntaxe:
tab.sort([compareFunction])

 

Les arguments :

Le seul argument de cette fonction est une fonction de comparaison utilisée pour trier les éléments en fonction des attributs.

  • compareFunction(a, b) < 0 : Alors a vient avant b dans la sortie.
  • compareFunction(a, b) > 0 : Alors b vient avant a dans la sortie.
  • compareFunction(a, b) = 0 : Alors l’ordre de a et b reste intact.
La valeur de retour :

Cette fonction renvoie la référence du tableau d’origine trié.
 

Exemple 1:
var tab = [3, 6, 1, 9, 2]
tab.sort();
console.log(tab);

Sortie:

[ 1, 2, 3, 6, 9 ]
Comment créer un tableau 2D en JavaScript ?Comment créer un tableau 2D en JavaScript ?Généralement, la création d’un tableau à deux dimensions est très similaire à la création d’un tableau à une seul dimension. Certaines langages vous permettent de…Lire plus  

Exemple avancé

Passons la fonction de comparaison et changeons l’ordre de tri par défaut en ordre décroissant.

tab = [3, 6, 1, 9, 2];
const sortDesc = (a, b) => b - a;
tab.sort(sortDesc);

console.log(tab);

Sortie:

[ 9, 6, 3, 2, 1 ]

 

Comment trier un tableau d’objets?

Dans l’exemple ci-dessous, nous avons utilisé la fonction fléchée(arrow function) . Maintenant, il va trier par ordre croissant en fonction des valeurs.

let langages = [
  { name: 'JavaScript', value: 3 },
  { name: 'HTML', value: 1 },
  { name: 'Python', value: 7 },
  { name: 'PHP', value: 5 },
  { name: 'CSS', value: 2 }
];
langages.sort((a, b) => a.value - b.value);

console.log(langages);

Sortie:

QCM JavascriptQCM Javascript – Partie 1QCM sur Javascript avec des réponses pour la préparation des tests techniques, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus

Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *