logo

Comment trier les caractères dans une chaîne en JavaScript

Tri des caractères dans une chaîne est une tâche courante en programmation, en particulier dans le développement Web. En JavaScript, il existe différentes manières de trier les caractères d'une chaîne. Dans cet article, nous explorerons certaines des techniques les plus populaires pour trier les caractères d'une chaîne en JavaScript.

dessiner un rectangle gimp

Tri des caractères dans une chaîne à l'aide de la méthode Array.sort() :

Le moyen le plus simple de trier les caractères d'une chaîne en JavaScript consiste à convertir la chaîne en un tableau de caractères, puis à utiliser l'option Tableau.sort() méthode pour trier le tableau.

Exemple:

Le code suivant montre comment trier les caractères d'une chaîne à l'aide de cette méthode :

 const str = 'hello world'; const sortedStr = str.split('').sort().join(''); console.log(sortedStr); 

Sortir:

 dehllloorw 

Explication:

Dans ce code, nous créons d'abord une chaîne str puis convertissez-le en un tableau de caractères à l'aide du diviser() méthode. Après cela, nous utilisons le méthode trier() pour trier les caractères du tableau par ordre croissant. Enfin, nous joignons le tableau trié dans une chaîne en utilisant le rejoindre() méthode.

Notez que le trier() La méthode trie les éléments sur place, ce qui signifie qu'elle modifie le tableau d'origine. Dans l'exemple ci-dessus, nous ne préservons pas la chaîne d'origine car nous la modifions directement. Si nous devons conserver la chaîne d'origine, nous pouvons en faire une copie avant de la convertir en tableau :

Exemple:

 const str = 'hello world'; const strCopy = str.slice(); // make a copy of the string const sortedStr = strCopy.split('').sort().join(''); console.log(sortedStr); 

Sortir:

 dehllloorw 

Trier les caractères d'une chaîne à l'aide d'une boucle for :

Une autre façon de trier les caractères d'une chaîne en JavaScript consiste à utiliser un pour la boucle . Cette méthode consiste à parcourir chaque caractère de la chaîne, à le comparer avec tous les autres caractères et à échanger leurs positions s'ils ne sont pas dans le bon ordre.

Exemple:

Voici un exemple de la façon de trier les caractères d'une chaîne à l'aide d'une boucle for :

 const str = &apos;hello world&apos;; let sortedStr = &apos;&apos;; for (let i = 0; i <str.length; i++) { for (let j="i" + 1; < str.length; j++) if (str[j] str[i]) const temp="str[i];" str[i]="str[j];" str[j]="temp;" } sortedstr console.log(sortedstr); pre> <p> <strong>Output:</strong> </p> <pre> hello world </pre> <p> <strong>Explanation:</strong> </p> <p>In this code, we first initialize an empty string called <strong> <em>sortedStr</em> </strong> . After that, we use two nested <strong> <em>for loops</em> </strong> to compare each character with every other character in the string. If a character is not in the correct order, we swap it with the character that comes after it.</p> <p>After the <strong> <em>inner loop completes</em> </strong> , we add the current character to the <strong> <em>sortedStr</em> </strong> string. We continue this process until all characters have been sorted. This method may be less efficient than using the <strong> <em>Array.sort()</em> </strong> method, especially for larger strings. However, it can be useful for understanding the sorting process and for implementing custom sorting algorithms.</p> <h3>Sorting characters in a string using a library:</h3> <p>There are also several JavaScript libraries that provide sorting functions for strings. One popular library is <strong> <em>lodash</em> </strong> , which provides a <strong> <em>sortBy()</em> </strong> function that can be used to sort characters in a string:</p> <p> <strong>Example:</strong> </p> <pre> const _ = require(&apos;lodash&apos;); const str = &apos;hello world&apos;; const sortedStr = _.sortBy(str).join(&apos;&apos;); console.log(sortedStr); </pre> <p> <strong>Output:</strong> </p> <pre> dehllloorw </pre> <p> <strong>Explanation:</strong> </p> <p>In this code, we first <strong> <em>import</em> </strong> the <strong> <em>lodash</em> </strong> library using the <strong> <em>require()</em> </strong> function. After that, we use the <strong> <em>sortBy()</em> </strong> function to sort the characters in the string in ascending order. Finally, we join the sorted array back into a string using the <strong> <em>join()</em> </strong> method.</p> <h4>Note that:- we can also use the <em>spread operator (...)</em> to convert the string into an array without using the <em>split() method</em> :</h4> <pre> const _ = require(&apos;lodash&apos;); const str = &apos;hello world&apos;; const sortedStr = _.sortBy([...str]).join(&apos;&apos;); console.log(sortedStr); </pre> <p> <strong>Output:</strong> </p> <pre> dehllloorw </pre> <h3>Sorting characters in descending order:</h3> <p>By default, the <strong> <em>Array.sort()</em> </strong> method sorts elements in ascending order. However, we can sort elements in descending order by passing a comparison function to the <strong> <em>sort() method</em> </strong> .</p> <p> <strong>Example:</strong> </p> <p>Here&apos;s an example of how to sort characters in a string in descending order:</p> <pre> const str = &apos;hello world&apos;; const sortedStr = str.split(&apos;&apos;).sort((a, b) =&gt; b.localeCompare(a)).join(&apos;&apos;); console.log(sortedStr); </pre> <p> <strong>Output:</strong> </p> <pre> wroolllhed </pre> <p> <strong>Explanation:</strong> </p> <p>In this code, we pass a comparison function to the <strong> <em>sort() method</em> </strong> that compares characters in descending order using the <strong> <em>localeCompare()</em> </strong> method.</p> <h2>Conclusion:</h2> <p>Sorting characters in a string is a common task in JavaScript programming. We can use several techniques to achieve this, including the <strong> <em>Array.sort() method</em> </strong> , a <strong> <em>for loop</em> </strong> , or a <strong> <em>library function</em> </strong> . The most suitable method depends on the specific requirements of the task and the size of the input string.</p> <hr></str.length;>

Explication:

Dans ce code, nous initialisons d'abord une chaîne vide appelée triéeStr . Après cela, nous utilisons deux imbriqués pour les boucles pour comparer chaque caractère avec tous les autres caractères de la chaîne. Si un caractère n'est pas dans le bon ordre, on l'échange avec le caractère qui vient après.

Après le la boucle intérieure est terminée , nous ajoutons le caractère actuel au triéeStr chaîne. Nous continuons ce processus jusqu'à ce que tous les caractères aient été triés. Cette méthode peut être moins efficace que l'utilisation du Tableau.sort() méthode, en particulier pour les chaînes plus grandes. Cependant, cela peut être utile pour comprendre le processus de tri et pour implémenter des algorithmes de tri personnalisés.

format de chaîne en Java

Trier les caractères d'une chaîne à l'aide d'une bibliothèque :

Il existe également plusieurs bibliothèques JavaScript qui fournissent des fonctions de tri des chaînes. Une bibliothèque populaire est lodash , qui fournit un Trier par() fonction qui peut être utilisée pour trier les caractères dans une chaîne :

Exemple:

 const _ = require(&apos;lodash&apos;); const str = &apos;hello world&apos;; const sortedStr = _.sortBy(str).join(&apos;&apos;); console.log(sortedStr); 

Sortir:

 dehllloorw 

Explication:

Dans ce code, nous avons d'abord importer le lodash bibliothèque utilisant le exiger() fonction. Après cela, nous utilisons le Trier par() fonction pour trier les caractères de la chaîne par ordre croissant. Enfin, nous joignons le tableau trié dans une chaîne en utilisant le rejoindre() méthode.

Notez que : - nous pouvons également utiliser le opérateur de spread (...) pour convertir la chaîne en tableau sans utiliser le Méthode split() :

 const _ = require(&apos;lodash&apos;); const str = &apos;hello world&apos;; const sortedStr = _.sortBy([...str]).join(&apos;&apos;); console.log(sortedStr); 

Sortir:

 dehllloorw 

Tri des caractères par ordre décroissant :

Par défaut, le Tableau.sort() La méthode trie les éléments par ordre croissant. Cependant, nous pouvons trier les éléments par ordre décroissant en passant une fonction de comparaison au méthode trier() .

Exemple:

Voici un exemple de la façon de trier les caractères d'une chaîne par ordre décroissant :

 const str = &apos;hello world&apos;; const sortedStr = str.split(&apos;&apos;).sort((a, b) =&gt; b.localeCompare(a)).join(&apos;&apos;); console.log(sortedStr); 

Sortir:

 wroolllhed 

Explication:

Dans ce code, nous passons une fonction de comparaison au méthode trier() qui compare les caractères par ordre décroissant en utilisant le localeCompare() méthode.

Conclusion:

Le tri des caractères dans une chaîne est une tâche courante dans la programmation JavaScript. Nous pouvons utiliser plusieurs techniques pour y parvenir, notamment la Méthode Array.sort() , un pour la boucle , ou un fonction de bibliothèque . La méthode la plus adaptée dépend des exigences spécifiques de la tâche et de la taille de la chaîne d'entrée.