logo

Како сортирати знакове у низу у ЈаваСцрипт-у

Сортирање знакова у низу је уобичајен задатак у програмирању, посебно у веб развоју. У ЈаваСцрипт-у постоје различити начини за сортирање знакова у низу. У овом чланку ћемо истражити неке од најпопуларнијих техника за сортирање знакова у низу у ЈаваСцрипт-у.

регек јава

Сортирање знакова у низу помоћу методе Арраи.сорт():

Најлакши начин за сортирање знакова у низу у ЈаваСцрипт-у је претварање стринга у низ знакова, а затим коришћење Арраи.сорт() метод за сортирање низа.

Пример:

Следећи код показује како сортирати знакове у низу користећи овај метод:

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

Излаз:

 dehllloorw 

Објашњење:

У овом коду прво креирамо стринг стр а затим га конвертујте у низ знакова користећи разделити() методом. Након тога користимо сорт() метода да сортирате знакове у низу у растућем редоследу. Коначно, спајамо сортирани низ назад у стринг користећи придружити() методом.

Имајте на уму да је врста() метода сортира елементе на месту, што значи да модификује оригинални низ. У горњем примеру, не чувамо оригинални стринг јер га директно мењамо. Ако треба да сачувамо оригинални стринг, можемо да направимо његову копију пре него што га конвертујемо у низ:

Пример:

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

Излаз:

 dehllloorw 

Сортирање знакова у низу помоћу фор петље:

Други начин сортирања знакова у низу у ЈаваСцрипт-у је коришћење а за петљу . Овај метод укључује понављање сваког знака у низу, упоређивање са сваким другим карактером и замену њихових позиција ако нису у исправном редоследу.

Пример:

Ево примера како сортирати знакове у низу користећи фор петљу:

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

Објашњење:

У овом коду прво иницијализујемо празан стринг под називом сортедСтр . Након тога користимо два угнежђена за петље да упореди сваки знак са сваким другим карактером у низу. Ако знак није у исправном редоследу, замењујемо га знаком који долази после њега.

После унутрашња петља се завршава , додајемо тренутни знак у сортедСтр низ. Настављамо овај процес све док сви карактери не буду сортирани. Овај метод може бити мање ефикасан од употребе Арраи.сорт() метод, посебно за веће жице. Међутим, може бити корисно за разумевање процеса сортирања и за имплементацију прилагођених алгоритама сортирања.

Сортирање знакова у низу помоћу библиотеке:

Такође постоји неколико ЈаваСцрипт библиотека које пружају функције сортирања за стрингове. Једна популарна библиотека је лодасх , који обезбеђује а Сортирај по() функција која се може користити за сортирање знакова у низу:

Пример:

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

Излаз:

 dehllloorw 

Објашњење:

У овом коду ми прво увоз тхе лодасх библиотека користећи захтевају() функција. Након тога користимо Сортирај по() функција за сортирање знакова у низу у растућем редоследу. Коначно, спајамо сортирани низ назад у стринг користећи придружити() методом.

Имајте на уму да: - такође можемо користити оператер за ширење (...) да конвертујете стринг у низ без употребе сплит() метода :

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

Излаз:

 dehllloorw 

Сортирање знакова у опадајућем редоследу:

Подразумевано, тхе Арраи.сорт() метода сортира елементе у растућем редоследу. Међутим, можемо сортирати елементе у опадајућем редоследу тако што ћемо проследити функцију поређења у сорт() метода .

Пример:

басх сан

Ево примера како да сортирате знакове у низу у опадајућем редоследу:

 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 

Објашњење:

У овом коду преносимо функцију поређења у сорт() метода који пореди знакове у опадајућем редоследу користећи лоцалеЦомпаре() методом.

Закључак:

Сортирање знакова у низу је уобичајен задатак у ЈаваСцрипт програмирању. Можемо користити неколико техника да бисмо то постигли, укључујући Метод Арраи.сорт(). , а за петљу , или а функција библиотеке . Најпогоднији метод зависи од специфичних захтева задатка и величине улазног низа.