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



My Personal Notes arrow_drop_up

Maybe this silence is dangerous

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.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.