How to check if a variable is an array in JavaScript?

In JavaScript, we can check if a variable is an array by using 3 methods, using the isArray method, using the instanceof operator and using checking the constructor type if it matches an Array object.

  • Method 1: Using the isArray method

    The Array.isArray() method checks whether the passed variable is an Array object.

    Syntax:

    Array.isArray(variableName)

    It returns a true boolean value if the variable is an array and false if it is not. This is shown in the example below.

    Example-1:



    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <!DOCTYPE html>
    <html lang="en">
      
    <head>
        <title>
          How to check if a variable
          is an array in JavaScript?
      </title>
    </head>
      
    <body>
        <h1 style="color: green">
          GeeksforGeeks
      </h1>
        <b>
          How to check if a variable 
          is an array in JavaScript?
      </b>
        <p>
          Click on the button to check
          if the variable is an array
      </p>
        <p>Output for string:
            <div class="outputString">
      </div>
      
        <p>Output for number:
            <div class="outputNumber">
      </div>
      
        <p>Output for array:
            <div class="outputArray">
      </div>
      
      
        <button onclick="checkArray()">
          Click here
      </button>
        <script type="text/javascript">
            function checkArray() {
                let str = 'This is a string';
                let num = 25;
                let arr = [10, 20, 30, 40];
      
                ans = Array.isArray(str);
                document.querySelector(
                  '.outputString').textContent = ans;
                
                ans = Array.isArray(num);
                document.querySelector(
                  '.outputNumber').textContent = ans;
                
                ans = Array.isArray(arr);
                document.querySelector(
                  '.outputArray').textContent = ans;
            }
        </script>
    </body>
      
    </html>

    chevron_right

    
    

    Output:
    isArray

  • Method 2: Using the instanceof operator
    The instanceof operator is used to test whether the prototype property of a constructor appears anywhere in the prototype chain of an object. This can be used to evaluate if an the given variable has a prototype of ‘Array’.

    Syntax:

    variable instanceof Array

    The operator returns a true boolean value if the variable is same as what is specified (here an Array) and false if it is not. This is shown in the example below.

    Example-2:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <!DOCTYPE html>
    <html lang="en">
      
    <head>
        <title>
          How to check if a variable is
          an array in JavaScript?
      </title>
    </head>
      
    <body>
        <h1 style="color: green">
          GeeksforGeeks
      </h1>
        <b>
          How to check if a variable is
          an array in JavaScript?
      </b>
        <p>
          Click on the button to check 
          if the variable is an array
      </p>
        <p>Output for string:
            <div class="outputString"></div>
      
        <p>Output for number:
            <div class="outputNumber"></div>
      
        <p>Output for array:
            <div class="outputArray"></div>
      
      
        <button onclick="checkArray()">Click here</button>
        <script type="text/javascript">
            function checkArray() {
                let str = 'This is a string';
                let num = 25;
                let arr = [10, 20, 30, 40];
      
                ans = str instanceof Array;
                document.querySelector(
                  '.outputString').textContent = 
                  ans;
                ans = num instanceof Array;
                document.querySelector(
                   '.outputNumber').textContent = 
                  ans;
                ans = arr instanceof Array;
                document.querySelector(
                   '.outputArray').textContent = 
                  ans;
            }
        </script>
    </body>
      
    </html>

    chevron_right

    
    

    Output:
    instanceof

  • Method 3: Checking the constructor property of the variable

    Another method to check a variable is an array is by checking it’s constructor with Array.

    Syntax:

    variable.constructor === Array

    This becomes true if the variable is same as what is specified (here an Array) and false if it is not. This is shown in the example below.

    Example-3:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <!DOCTYPE html>
    <html lang="en">
      
    <head>
        <title>
          How to check if a variable is
          an array in JavaScript?
      </title>
    </head>
      
    <body>
        <h1 style="color: green">
          GeeksforGeeks
      </h1>
        <b>How to check if a variable is
          an array in JavaScript?</b>
        
        <p>Click on the button to check 
          if the variable is an array</p>
        
        <p>Output for string:
            <div class="outputString"></div>
      
        <p>Output for number:
            <div class="outputNumber"></div>
      
        <p>Output for array:
            <div class="outputArray"></div>
      
      
        <button onclick="checkArray()">
          Click here
      </button>
        <script type="text/javascript">
            function checkArray() {
                let str = 'This is a string';
                let num = 25;
                let arr = [10, 20, 30, 40];
      
                ans = str.constructor === Array;
                document.querySelector(
                  '.outputString').textContent = ans;
                
                ans = num.constructor === Array;
                document.querySelector(
                  '.outputNumber').textContent = ans;
                
                ans = arr.constructor === Array;
                document.querySelector(
                  '.outputArray').textContent = ans;
                
            }
        </script>
    </body>
      
    </html>

    chevron_right

    
    

    Output:

    constructor

full-stack-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.