How to Determine if a Variable is an Array
May 14, 2021
You shouldn't use the typeof
operator to check whether a value is an array, because typeof
cannot distinguish between arrays and objects.
Instead you should use Array.isArray()
, because typeof
would return 'object'
, not 'array'
.
let array = [1,2,3,4];
typeof array; // `object`
Array.isArray()
takes one parameter and will return true only
if the given value is an array. Anything else will return false.
You can also use instanceof
to determine if a value is an array,
however, Array.isArray()
is fullproof as instanceof
will
not return true on an iframe.
let array = [1,2,3,4];
Array.isArray(array); // true
Note: ES6 introduced the ability to subclass Array
, like class CustomArray extends Array {}
.
The good news is that Array.isArray()
will return true
for any object that extends Array
.
Did you find this tutorial useful? Say thanks by starring our repo on GitHub!