logo

Kā kārtot rakstzīmes virknē JavaScript

Rakstzīmju šķirošana virknē ir izplatīts uzdevums programmēšanā, īpaši tīmekļa izstrādē. Programmā JavaScript ir dažādi veidi, kā virknē kārtot rakstzīmes. Šajā rakstā mēs izpētīsim dažus no populārākajiem paņēmieniem rakstzīmju kārtošanai virknē JavaScript.

paziņojuma segums

Rakstzīmju kārtošana virknē, izmantojot metodi Array.sort():

Vienkāršākais veids, kā kārtot rakstzīmes virknē JavaScript, ir pārvērst virkni rakstzīmju masīvā un pēc tam izmantot Array.sort() masīva kārtošanas metode.

Piemērs:

Šis kods parāda, kā kārtot rakstzīmes virknē, izmantojot šo metodi:

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

Izvade:

 dehllloorw 

Paskaidrojums:

Šajā kodā mēs vispirms izveidojam virkni str un pēc tam konvertējiet to rakstzīmju masīvā, izmantojot sadalīt () metodi. Pēc tam mēs izmantojam sort() metode lai sakārtotu rakstzīmes masīvā augošā secībā. Visbeidzot, mēs savienojam sakārtoto masīvu atpakaļ virknē, izmantojot pievienoties () metodi.

Ņemiet vērā, ka kārtot () metode sakārto elementus vietā, kas nozīmē, ka tā modificē sākotnējo masīvu. Iepriekš minētajā piemērā mēs nesaglabājam sākotnējo virkni, jo mēs to tieši modificējam. Ja mums ir jāsaglabā sākotnējā virkne, mēs varam izveidot tās kopiju pirms konvertēšanas masīvā:

Piemērs:

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

Izvade:

 dehllloorw 

Rakstzīmju kārtošana virknē, izmantojot for cilpu:

Vēl viens veids, kā kārtot rakstzīmes virknē JavaScript, ir izmantot a cilpai . Šī metode ietver katras virknes rakstzīmes atkārtošanu, tās salīdzināšanu ar visām citām rakstzīmēm un to pozīciju apmaiņu, ja tās nav pareizajā secībā.

Piemērs:

Šeit ir piemērs, kā kārtot rakstzīmes virknē, izmantojot for cilpu:

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

Paskaidrojums:

Šajā kodā mēs vispirms inicializējam tukšu virkni, ko sauc sortedStr . Pēc tam mēs izmantojam divus ligzdotas cilpām lai salīdzinātu katru rakstzīmi ar katru citu rakstzīmi virknē. Ja rakstzīme nav pareizajā secībā, mēs to nomainām ar rakstzīmi, kas nāk pēc tās.

Pēc tam, kad iekšējā cilpa ir pabeigta , mēs pievienojam pašreizējo rakstzīmi sortedStr virkne. Mēs turpinām šo procesu, līdz visas rakstzīmes ir sakārtotas. Šī metode var būt mazāk efektīva nekā izmantošana Array.sort() metodi, īpaši lielākām stīgām. Tomēr tas var būt noderīgi, lai izprastu šķirošanas procesu un ieviestu pielāgotus šķirošanas algoritmus.

Rakstzīmju kārtošana virknē, izmantojot bibliotēku:

Ir arī vairākas JavaScript bibliotēkas, kas nodrošina virkņu šķirošanas funkcijas. Viena populāra bibliotēka ir lodash , kas nodrošina a Kārtot pēc() funkcija, ko var izmantot, lai kārtotu rakstzīmes virknē:

Piemērs:

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

Izvade:

 dehllloorw 

Paskaidrojums:

Šajā kodā mēs vispirms imports uz lodash bibliotēka, izmantojot prasīt () funkciju. Pēc tam mēs izmantojam Kārtot pēc() funkciju, lai sakārtotu rakstzīmes virknē augošā secībā. Visbeidzot, mēs savienojam sakārtoto masīvu atpakaļ virknē, izmantojot pievienoties () metodi.

Ņemiet vērā, ka: - mēs varam izmantot arī izkliedes operators (...) lai pārvērstu virkni masīvā, neizmantojot split() metode :

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

Izvade:

 dehllloorw 

Rakstzīmju kārtošana dilstošā secībā:

Pēc noklusējuma Array.sort() metode sakārto elementus augošā secībā. Tomēr mēs varam kārtot elementus dilstošā secībā, nododot salīdzināšanas funkciju uz sort() metode .

Piemērs:

Tālāk ir sniegts piemērs, kā kārtot rakstzīmes virknē dilstošā secībā.

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

Izvade:

 wroolllhed 

Paskaidrojums:

linux faili

Šajā kodā mēs nododam salīdzināšanas funkciju uz sort() metode kas salīdzina rakstzīmes dilstošā secībā, izmantojot localeCompare() metodi.

Secinājums:

Rakstzīmju kārtošana virknē ir izplatīts JavaScript programmēšanas uzdevums. Lai to panāktu, mēs varam izmantot vairākas metodes, tostarp Array.sort() metode , a cilpai , vai a bibliotēkas funkcija . Vispiemērotākā metode ir atkarīga no uzdevuma īpašajām prasībām un ievades virknes lieluma.