Trier 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 bien pour les chaînes de caractères mais peut produire des résultats inattendus avec les nombres.
Comportement de tri par défaut
La méthode sort() convertit par défaut les éléments en chaînes de caractères et les compare selon l’ordre Unicode. C’est pourquoi elle fonctionne naturellement pour les chaînes, mais les tableaux numériques peuvent produire des résultats inattendus à moins de fournir une fonction de comparaison.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
Pour trier correctement des nombres, utilisez une fonction de comparaison :
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
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
});
aest considéré comme le premier élément ;best 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, quelle sera la sortie affichée ?
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
Génial!
Completion taux amélioré à 2.27
Trier 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 bien pour les chaînes de caractères mais peut produire des résultats inattendus avec les nombres.
Comportement de tri par défaut
La méthode sort() convertit par défaut les éléments en chaînes de caractères et les compare selon l’ordre Unicode. C’est pourquoi elle fonctionne naturellement pour les chaînes, mais les tableaux numériques peuvent produire des résultats inattendus à moins de fournir une fonction de comparaison.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
Pour trier correctement des nombres, utilisez une fonction de comparaison :
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
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
});
aest considéré comme le premier élément ;best 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, quelle sera la sortie affichée ?
Merci pour vos commentaires !