logo

Як сортувати символи в рядку в JavaScript

Сортування символів у рядку є звичайним завданням у програмуванні, особливо у веб-розробці. У JavaScript існують різні способи сортування символів у рядку. У цій статті ми розглянемо деякі з найпопулярніших прийомів сортування символів у рядку в JavaScript.

малювання прямокутника gimp

Сортування символів у рядку за допомогою методу Array.sort():

Найпростіший спосіб відсортувати символи в рядку в JavaScript – це перетворити рядок на масив символів і використати Array.sort() метод сортування масиву.

приклад:

Наступний код демонструє, як сортувати символи в рядку за допомогою цього методу:

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

Вихід:

 dehllloorw 

Пояснення:

У цьому коді ми спочатку створюємо рядок вул а потім перетворити його на масив символів за допомогою split() метод. Після цього використовуємо метод sort(). щоб відсортувати символи в масиві в порядку зростання. Нарешті, ми об’єднуємо відсортований масив назад у рядок за допомогою приєднатися() метод.

Зверніть увагу, що sort() метод сортує елементи на місці, тобто він змінює вихідний масив. У наведеному вище прикладі ми не зберігаємо оригінальний рядок, оскільки ми безпосередньо його змінюємо. Якщо нам потрібно зберегти оригінальний рядок, ми можемо зробити його копію перед перетворенням на масив:

приклад:

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

Вихід:

 dehllloorw 

Сортування символів у рядку за допомогою циклу for:

Ще один спосіб сортування символів у рядку в JavaScript – це використання a для циклу . Цей метод передбачає повторення кожного символу в рядку, порівняння його з усіма іншими символами та зміну їх позицій, якщо вони розташовані не в правильному порядку.

приклад:

Ось приклад сортування символів у рядку за допомогою циклу 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;>

Пояснення:

У цьому коді ми спочатку ініціалізуємо порожній рядок, що викликається sortedStr . Після цього використовуємо два вкладених для петель щоб порівняти кожен символ з усіма іншими символами в рядку. Якщо символ не в правильному порядку, ми замінюємо його символом, який йде після нього.

Після внутрішній цикл завершено , ми додаємо поточний символ до sortedStr рядок. Ми продовжуємо цей процес, доки всі символи не будуть відсортовані. Цей метод може бути менш ефективним, ніж використання Array.sort() метод, особливо для великих рядків. Однак це може бути корисним для розуміння процесу сортування та для реалізації спеціальних алгоритмів сортування.

Сортування символів у рядку за допомогою бібліотеки:

Є також кілька бібліотек JavaScript, які забезпечують функції сортування для рядків. Однією з популярних бібліотек є лодаш , який забезпечує а сортувати за() функція, яку можна використовувати для сортування символів у рядку:

приклад:

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

Вихід:

 dehllloorw 

Пояснення:

У цьому коді ми спочатку імпорт в лодаш бібліотека з використанням вимагати() функція. Після цього використовуємо сортувати за() функція для сортування символів у рядку в порядку зростання. Нарешті, ми об’єднуємо відсортований масив назад у рядок за допомогою приєднатися() метод.

Зауважте, що: - ми також можемо використовувати оператор поширення (...) щоб перетворити рядок на масив без використання метод split(). :

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

Вихід:

символ.порівняти java
 dehllloorw 

Сортування символів у порядку спадання:

За замовчуванням, Array.sort() Метод сортує елементи в порядку зростання. Однак ми можемо сортувати елементи в порядку спадання, передавши функцію порівняння в метод sort(). .

приклад:

Ось приклад сортування символів у рядку в порядку спадання:

 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); 

Вихід:

 wroolllhed 

Пояснення:

У цьому коді ми передаємо функцію порівняння метод sort(). який порівнює символи в порядку спадання за допомогою localeCompare() метод.

Висновок:

Сортування символів у рядку є поширеним завданням програмування на JavaScript. Ми можемо використати кілька методів, щоб досягти цього, включаючи Метод Array.sort(). , а для циклу , або a функція бібліотеки . Найбільш прийнятний метод залежить від конкретних вимог завдання та розміру вхідного рядка.