Open In App

JavaScript Program to Check an Array is Sorted or Not

Last Updated : 01 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will learn how to check if the array is sorted in JavaScript. JavaScript Array is a single variable that is used to store elements of different data types. Now, we have to find whether the array is sorted or not.

Examples:

Input : const arr = [1, 2, 3, 4, 5]; 
Output : true

Input : const arr = [3, 1, 4, 2, 5];
Output : false

Below are the following approaches through which we can check if the array is sorted or not:

  • Using the Brute Force Approach
  • Using the every() Method
  • Using sort() Method
  • Using Recursion Method

Approach 1: Using the Brute Force Approach

In this approach, we iterate through the array and compare each element with the next one. If the first element is greater than the next element then we return false, else return true.

Example:

Javascript




function checkSorted(arr) {
    for (let i = 0; i < arr.length - 1; i++) {
        if (arr[i] > arr[i + 1]) {
            return false;
        }
    }
    return true;
}
  
// Example usage
const arr1 = [32, 39, 48, 56];
const arr2 = [22, 65, 1, 39];
  
console.log(checkSorted(arr1));   
console.log(checkSorted(arr2));


Output

true
false

Time Complexity: O(n) 
Auxiliary Space: O(1)

Approach 2: Using the every() Method

This is also a kind of iterative method but in this approach we use every() Method for iteration instead of for loop. JavaScript has many inbuilt methods. The Javascript Array.every() method considers all the elements of an array and then further checks whether all the elements of the array satisfy the given condition (passed by in user) or not that is provided by a method passed to it as the argument.

Example:

Javascript




function checkSorted(arr) {
    return arr.every((value, index, array) => 
                     index === 0 || value >= array[index - 1]);
}
// Example usage
const arr1 = [32, 39, 48, 56];
const arr2 = [22, 65, 1, 39];
  
console.log(checkSorted(arr1));
console.log(checkSorted(arr2));


Output

true
false

Time Complexity: O(nlogn) 
Auxiliary Space: O(1)

Approach 3: Using sort() Method

This is also very simple method but it is not optimised approach. In this method, we sort the array by using the JavaScript sort() inbuilt method and then compares with the original array that both array are equal or not. If they are equal, then array is sorted.

Example:

Javascript




function checkSorted(arr) {
    const sortArr = [...arr].sort((a, b) => a - b);
    return JSON.stringify(arr) === JSON.stringify(sortArr);
  
}
  
// Example usage
const arr1 = [32, 39, 48, 56];
const arr2 = [22, 65, 1, 39];
  
console.log(checkSorted(arr1));
console.log(checkSorted(arr2));


Output

true
false

Time Complexity: O(nlogn) 
Auxiliary Space: O(n)

Approach 4: Using Recursion

  • If we reach the end of the array then it is sorted, this is the base case for recursion.
  • Now, check if the current element is greater than the next element then return false.
  • Otherwise, call the recursive function for next pair of element.

Example:

Javascript




function checkSorted(arr, i = 0) {
    //base case
    if (i === arr.length - 1) {
        return true;
    }
    if (arr[i] > arr[i + 1]) {
        return false;
    }
  
    // Recursive case
    return checkSorted(arr, i + 1);
}
// Example usage
const arr1 = [32, 39, 48, 56];
const arr2 = [22, 65, 1, 39];
  
console.log(checkSorted(arr1));
console.log(checkSorted(arr2));


Output

true
false


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads