Javascript Sorting Array
Tags: javascript, webdev, showdev, beginners
Published: 2020-05-16 14:50:32

Let us consider a list of items such as `[15,12,19,26,21]` and we want to sort these items in ascending or descending order this can be achieved using Array Sort Methods. These methods are created while creating an array object or on the declaration. Let us look at some of the Array Sorting Methods.

array.sort() Method
-------------------

Let a look at simple sort method.
```javascript
var num = [6,2,1,5,8];
num.sort();

//Console Output
(5) [1, 2, 5, 6, 8]
```
[In array](http://thecodelearners.com/javascript-array/) `num` by default `sort()` sorts items into ascending order. Let us look at another example by sorting student names in ascending order.
```javascript
var students = ["Yashwant", "Ramesh", "Abhishek", "Abhilash", "Lokesh"];
students.sort();

//Console Output
(5) ["Abhilash", "Abhishek", "Lokesh", "Ramesh", "Yashwant"]
```
As you can see name initialization we have specified "Abhilash" after "Abhishek" but in output, we get "Abhilash" because of letter order. The sort method also checks by letter ordering. We can take the same above example and represent it in `if-else` a statement.
```javascript
var students = ["Yashwant", "Ramesh", "Abhishek", "Abhilash", "Lokesh"];
if(students[0]>students[2]){ //ie Yashwant > Abhishek
    console.log("Yes name Yashwant greater than Abhishek");
}else{
    console.log("No name Yashwant not greater than Abhishek");
}
```
![JavaScript Array Sort | conditional checking of alphabets in array by specifying its index number](http://thecodelearners.com/wp-content/uploads/2020/05/JavaScript-Array-Sort-Example-1-300x87.jpg)

#### array.reverse() Method

This method reverses the array.As `sort()` method sorts array items to ascending order calling `reverse()` method on `sort()` like `sort().reverse()` does the opposite of that it orders items in descending order. Let us look at a simple example
```javascript
var salary = [5025.23, 4269.65, 8965.6, 2569.12];
salary.sort().reverse();

//Console Output
(4) [8965.6, 5025.23, 4269.65, 2569.12]
```
#### Sorting Array Items using Functions

Till now you have learnt about sorting items in the order. But there could be a scenario where you would want to specify a custom function for sorting in such case we must call the function with arguments inside the `sort()` method. Few such examples are given below
```javascript
var num = [6,2,1,5,8];
num.sort(function(a,b){
    if(a<b){ return -1; // -1 means don't change let it be the same }else if(a>b){
        return 1;
    }else {
        return 0;
    }
});
console.log(num);

//Console Output
(5) [1, 2, 5, 6, 8]
```
Some more example related to sorting using functions Sorting in descending order
```javascript
var num = [6,2,1,5,8];
num.sort(function(a,b){
    if(a<b){ return 1; }else if(a>b){
        return -1;
    }else {
        return 0;
    }
});
console.log(num);

//Console Output
(5) [8, 6, 5, 2, 1]
```
Sorting Student names in ascending order
```javascript
var students = ["Yashwant", "Ramesh", "Abhishek", "Abhilash", "Lokesh"];
students.sort(function(x,y){
    if(x>y){
        return 1;
    }else if(x<y){
        return -1;
    }else {
        return 0;
    }
});
console.log(students);

//Console Output
(5) ["Abhilash", "Abhishek", "Lokesh", "Ramesh", "Yashwant"]
```
Sorting Student names in descending order
```javascript
var students = ["Yashwant", "Ramesh", "Abhishek", "Abhilash", "Lokesh"];
students.sort(function(x,y){
    if(x>y){
        return -1;
    }else if(x<y){
        return 1;
    }else {
        return 0;
    }
});
console.log(students);

//Console Output
(5) ["Yashwant", "Ramesh", "Lokesh", "Abhishek", "Abhilash"]
```
This post was originally posted on [this site](http://thecodelearners.com/javascript-sorting-array-sort-reverse-with-examples/)