How to sort strings in JavaScript?
We can sort the strings in JavaScript by following methods described below:
- Using sort() method
- Using loop
Using sort() method: In this method, we use predefined sort() method of JavaScript to sort the array of string. This method is used only when the string is alphabetic. It will produce wrong results if we store numbers in an array and apply this method.
Examples:
Original String
Suraj, Sanjeev, Rajnish, Yash, Ravi
After sorting
Rajnish, Ravi, Sanjeev, Suraj, YashOriginal String
40, 100, 1, 5, 25, 10
After sorting
1, 10, 100, 25, 40, 5
Below program illustrates the above approach:
Program:
<script> // JavaScript code to sort strings // Original string var string = [ "Suraj" , "Sanjeev" , "Rajnish" , "Yash" , "Ravi" ]; // Print original string array document.write( "Original String</br>" ); document.write(string); document.write( "</br>" ); // Use sort() method to sort the strings string.sort(); document.write( "</br>After sorting</br>" ); // Print sorted string array document.write(string); </script> |
Output:
Original String Suraj, Sanjeev, Rajnish, Yash, Ravi After sorting Rajnish, Ravi, Sanjeev, Suraj, Yash
Using loop: We will use a simple approach of sorting to sort the strings. In this method, we will use a loop and then compare each element and put the string at its correct position. Here we can store numbers in an array and apply this method to sort the array.
Examples:
Original String
Suraj,Sanjeev,Rajnish,Yash,Ravi
After sorting
Rajnish,Ravi,Sanjeev,Suraj,YashOriginal String
40, 100, 1, 5, 25, 10
After sorting
1,5,10,25,40,100
Below program illustrates the above approach:
Program:
<script> // JavaScript code to sort the strings // Function to perform sort function string_sort(str) { var i = 0, j; while (i < str.length) { j = i + 1; while (j < str.length) { if (str[j] < str[i]) { var temp = str[i]; str[i] = str[j]; str[j] = temp; } j++; } i++; } } // Driver code // Original string var string = [ "Suraj" , "Sanjeev" , "Rajnish" , "Yash" , "Ravi" ]; // Print original string array document.write( "Original String</br>" ); document.write(string); document.write( "</br>" ); // Call string_sort method string_sort(string); document.write( "</br>After sorting</br>" ); // Print sorted string array document.write(string); </script> |
Output:
Original String Suraj, Sanjeev, Rajnish, Yash, Ravi After sorting Rajnish, Ravi, Sanjeev, Suraj, Yash