Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Tri des Tableaux avec la Méthode sort() | Méthodes Avancées de Tableaux et Transformations
Structures de Données JavaScript

bookTri des Tableaux avec la Méthode sort()

sort()

La méthode sort() réorganise les éléments d’un tableau sur place et retourne le tableau mis à jour. Par défaut, le tri fonctionne correctement pour les chaînes de caractères, mais peut produire des résultats inattendus avec les nombres.

Comportement de tri par défaut

Le tri par défaut s’effectue sans difficulté pour les tableaux de chaînes de caractères, mais les tableaux numériques peuvent présenter des particularités. Exemples pour illustrer ce comportement :

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

Dans cet exemple, le tableau de nombres est trié par ordre croissant, ce qui semble simple. Cependant, des subtilités apparaissent dans l'illustration suivante :

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

La méthode sort() traite par défaut les éléments comme des chaînes de caractères, ce qui peut entraîner des résultats inattendus. Par exemple, 19 est trié avant 2, et 25 avant 3. La solution réside dans la personnalisation du processus de tri.

Ordres de tri personnalisés

Pour adapter le tri à des besoins spécifiques, une fonction de rappel est utilisée. Cette fonction, souvent appelée fonction de comparaison, définit la logique de tri. Examinons le tri personnalisé pour les nombres et les chaînes de caractères. Syntaxe de base :

array.sort((a, b) => {
  // Callback body
});
  • a est considéré comme le premier élément ;
  • b est considéré comme le second élément.

Trier des nombres

Dans cet exemple, la fonction de comparaison détermine l'ordre croissant et décroissant en fonction de la relation entre les éléments a et b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Trier des chaînes de caractères

La méthode localeCompare() facilite le tri alphabétique, permettant une personnalisation pour l'ordre croissant ou décroissant.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. Quelle est une caractéristique clé de la méthode sort() ?

2. Dans le comportement de tri par défaut de la méthode sort(), comment les éléments sont-ils traités ?

3. Dans l'exemple ci-dessous, quel sera le résultat affiché ?

question mark

Quelle est une caractéristique clé de la méthode sort() ?

Select the correct answer

question mark

Dans le comportement de tri par défaut de la méthode sort(), comment les éléments sont-ils traités ?

Select the correct answer

question mark

Dans l'exemple ci-dessous, quel sera le résultat affiché ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 7

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookTri des Tableaux avec la Méthode sort()

Glissez pour afficher le menu

sort()

La méthode sort() réorganise les éléments d’un tableau sur place et retourne le tableau mis à jour. Par défaut, le tri fonctionne correctement pour les chaînes de caractères, mais peut produire des résultats inattendus avec les nombres.

Comportement de tri par défaut

Le tri par défaut s’effectue sans difficulté pour les tableaux de chaînes de caractères, mais les tableaux numériques peuvent présenter des particularités. Exemples pour illustrer ce comportement :

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

Dans cet exemple, le tableau de nombres est trié par ordre croissant, ce qui semble simple. Cependant, des subtilités apparaissent dans l'illustration suivante :

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

La méthode sort() traite par défaut les éléments comme des chaînes de caractères, ce qui peut entraîner des résultats inattendus. Par exemple, 19 est trié avant 2, et 25 avant 3. La solution réside dans la personnalisation du processus de tri.

Ordres de tri personnalisés

Pour adapter le tri à des besoins spécifiques, une fonction de rappel est utilisée. Cette fonction, souvent appelée fonction de comparaison, définit la logique de tri. Examinons le tri personnalisé pour les nombres et les chaînes de caractères. Syntaxe de base :

array.sort((a, b) => {
  // Callback body
});
  • a est considéré comme le premier élément ;
  • b est considéré comme le second élément.

Trier des nombres

Dans cet exemple, la fonction de comparaison détermine l'ordre croissant et décroissant en fonction de la relation entre les éléments a et b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Trier des chaînes de caractères

La méthode localeCompare() facilite le tri alphabétique, permettant une personnalisation pour l'ordre croissant ou décroissant.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. Quelle est une caractéristique clé de la méthode sort() ?

2. Dans le comportement de tri par défaut de la méthode sort(), comment les éléments sont-ils traités ?

3. Dans l'exemple ci-dessous, quel sera le résultat affiché ?

question mark

Quelle est une caractéristique clé de la méthode sort() ?

Select the correct answer

question mark

Dans le comportement de tri par défaut de la méthode sort(), comment les éléments sont-ils traités ?

Select the correct answer

question mark

Dans l'exemple ci-dessous, quel sera le résultat affiché ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 7
some-alt