Tri des Tableaux avec la Méthode sort()
Ce chapitre examine les subtilités de la méthode sort()
, y compris sa syntaxe, ses comportements par défaut et les techniques de tri personnalisées.
sort()
La méthode sort()
modifie le tableau d'origine, lui conférant un nouvel agencement.
Caractéristiques principales à retenir :
- Le tableau d'origine est transformé, ses éléments se retrouvant dans un nouvel ordre ;
- La méthode fournit un tableau modifié comme valeur de retour, permettant une exploration supplémentaire ;
- Par défaut, la méthode sort() organise les éléments par ordre croissant.
Comportement de tri par défaut
Le tri par défaut fonctionne sans difficulté pour les tableaux de chaînes de caractères, mais les tableaux numériques peuvent présenter des particularités. Examinons des exemples pour illustrer ce comportement :
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
Dans cet exemple, le tableau de nombres est trié par ordre croissant, ce qui semble simple. Cependant, certaines subtilités apparaissent dans l'illustration suivante :
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
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 ce cas, la fonction de comparaison détermine l'ordre croissant ou décroissant en fonction de la relation entre les éléments a
et b
.
1234567const 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
Trier des chaînes de caractères
La méthode localeCompare()
permet un tri alphabétique, offrant une personnalisation pour les ordres croissant et décroissant.
1234567const 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
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 traite-t-elle les éléments ?
3. Dans l'exemple ci-dessous, quel sera le résultat affiché ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 2.27
Tri des Tableaux avec la Méthode sort()
Glissez pour afficher le menu
Ce chapitre examine les subtilités de la méthode sort()
, y compris sa syntaxe, ses comportements par défaut et les techniques de tri personnalisées.
sort()
La méthode sort()
modifie le tableau d'origine, lui conférant un nouvel agencement.
Caractéristiques principales à retenir :
- Le tableau d'origine est transformé, ses éléments se retrouvant dans un nouvel ordre ;
- La méthode fournit un tableau modifié comme valeur de retour, permettant une exploration supplémentaire ;
- Par défaut, la méthode sort() organise les éléments par ordre croissant.
Comportement de tri par défaut
Le tri par défaut fonctionne sans difficulté pour les tableaux de chaînes de caractères, mais les tableaux numériques peuvent présenter des particularités. Examinons des exemples pour illustrer ce comportement :
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
Dans cet exemple, le tableau de nombres est trié par ordre croissant, ce qui semble simple. Cependant, certaines subtilités apparaissent dans l'illustration suivante :
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
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 ce cas, la fonction de comparaison détermine l'ordre croissant ou décroissant en fonction de la relation entre les éléments a
et b
.
1234567const 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
Trier des chaînes de caractères
La méthode localeCompare()
permet un tri alphabétique, offrant une personnalisation pour les ordres croissant et décroissant.
1234567const 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
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 traite-t-elle les éléments ?
3. Dans l'exemple ci-dessous, quel sera le résultat affiché ?
Merci pour vos commentaires !