logo

Kako razvrstiti znake v nizu v JavaScriptu

Razvrščanje znakov v nizu je običajna naloga pri programiranju, zlasti pri spletnem razvoju. V JavaScriptu obstajajo različni načini za razvrščanje znakov v nizu. V tem članku bomo raziskali nekaj najbolj priljubljenih tehnik za razvrščanje znakov v nizu v JavaScriptu.

aws sns

Razvrščanje znakov v nizu z metodo Array.sort():

Najlažji način za razvrščanje znakov v nizu v JavaScriptu je tako, da pretvorite niz v niz znakov in nato uporabite Array.sort() metoda za razvrščanje matrike.

primer:

Naslednja koda prikazuje, kako razvrstiti znake v nizu s to metodo:

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

Izhod:

 dehllloorw 

Pojasnilo:

V tej kodi najprej ustvarimo niz str in ga nato pretvorite v niz znakov z uporabo razdeli () metoda. Po tem uporabimo metoda sort(). da razvrstite znake v matriki v naraščajočem vrstnem redu. Nazadnje združimo razvrščeno matriko nazaj v niz z uporabo pridruži se() metoda.

Upoštevajte, da je razvrsti() metoda razvrsti elemente na mestu, kar pomeni, da spremeni izvirno matriko. V zgornjem primeru ne ohranimo izvirnega niza, ker ga neposredno spreminjamo. Če moramo ohraniti izvirni niz, ga lahko kopiramo, preden ga pretvorimo v matriko:

primer:

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

Izhod:

 dehllloorw 

Razvrščanje znakov v nizu z uporabo zanke for:

Drug način za razvrščanje znakov v nizu v JavaScriptu je uporaba a za zanko . Ta metoda vključuje ponavljanje vsakega znaka v nizu, primerjavo z vsemi drugimi znaki in zamenjavo njihovih položajev, če niso v pravilnem vrstnem redu.

primer:

Tukaj je primer razvrščanja znakov v nizu z uporabo zanke 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;>

Pojasnilo:

V tej kodi najprej inicializiramo prazen niz, imenovan sortedStr . Po tem uporabimo dva ugnezdena za zanke primerjati vsak znak z vsemi drugimi znaki v nizu. Če znak ni v pravilnem vrstnem redu, ga zamenjamo z znakom, ki je za njim.

Po notranja zanka je končana dodamo trenutni znak v sortedStr vrvica. Ta postopek nadaljujemo, dokler niso vsi znaki razvrščeni. Ta metoda je lahko manj učinkovita kot uporaba Array.sort() način, zlasti za večje nize. Vendar pa je lahko koristen za razumevanje postopka razvrščanja in za implementacijo algoritmov za razvrščanje po meri.

Razvrščanje znakov v nizu s knjižnico:

Obstaja tudi več knjižnic JavaScript, ki nudijo funkcije razvrščanja za nize. Ena priljubljena knjižnica je lodash , ki zagotavlja a Razvrsti po() funkcija, ki se lahko uporablja za razvrščanje znakov v nizu:

primer:

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

Izhod:

 dehllloorw 

Pojasnilo:

V tej kodi smo najprej uvoz the lodash knjižnica z uporabo zahtevaj() funkcijo. Po tem uporabimo Razvrsti po() funkcijo za razvrščanje znakov v nizu v naraščajočem vrstnem redu. Nazadnje združimo razvrščeno matriko nazaj v niz z uporabo pridruži se() metoda.

Upoštevajte, da:- lahko uporabimo tudi operater širjenja (...) da pretvorite niz v matriko brez uporabe metoda split(). :

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

Izhod:

java spletne storitve
 dehllloorw 

Razvrščanje znakov v padajočem vrstnem redu:

Privzeto je Array.sort() metoda razvršča elemente v naraščajočem vrstnem redu. Vendar pa lahko elemente razvrstimo v padajočem vrstnem redu, tako da posredujemo primerjalno funkcijo v metoda sort(). .

primer:

Tu je primer razvrščanja znakov v nizu v padajočem vrstnem redu:

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

Izhod:

 wroolllhed 

Pojasnilo:

V tej kodi posredujemo primerjalno funkcijo v metoda sort(). ki primerja znake v padajočem vrstnem redu z uporabo localeCompare() metoda.

Zaključek:

Razvrščanje znakov v nizu je pogosta naloga pri programiranju JavaScript. Za dosego tega lahko uporabimo več tehnik, vključno z Metoda Array.sort(). , a za zanko , ali a funkcija knjižnice . Najprimernejši način je odvisen od posebnih zahtev naloge in velikosti vnosnega niza.