EN
JavaScript - check if variable is array type
11
points
In this article, we would like to show you how to check if an object or variable is array type using JavaScript.
1. Built-in Array.isArray
method example
// ONLINE-RUNNER:browser;
console.log(Array.isArray([ ])); // true
console.log(Array.isArray(new Array())); // true
console.log(Array.isArray({ })); // false
console.log(Array.isArray(new Object())); // false
console.log(Array.isArray(5)); // false
console.log(Array.isArray('a')); // false
console.log(Array.isArray(true)); // false
console.log(Array.isArray(function() { })); // false
console.log(Array.isArray(new function() { })); // false
2. instanceof
operator test example
Note: if web browser does not support
Array.isArray
method this approach is useful.
// ONLINE-RUNNER:browser;
if (!Array.isArray) {
Array.isArray = function(array) {
return (array instanceof Array);
};
}
// Example:
console.log(Array.isArray([ ])); // true
console.log(Array.isArray(new Array())); // true
console.log(Array.isArray({ })); // false
console.log(Array.isArray(new Object())); // false
console.log(Array.isArray(5)); // false
console.log(Array.isArray('a')); // false
console.log(Array.isArray(true)); // false
console.log(Array.isArray(function() { })); // false
console.log(Array.isArray(new function() { })); // false
3. constructor
property test example
Note: if web browser does not support
Array.isArray
method this approach is useful.
// ONLINE-RUNNER:browser;
if (!Array.isArray) {
Array.isArray = function(array) {
return array.constructor == Array;
};
}
// Example:
console.log(Array.isArray([ ])); // true
console.log(Array.isArray(new Array())); // true
console.log(Array.isArray({ })); // false
console.log(Array.isArray(new Object())); // false
console.log(Array.isArray(5)); // false
console.log(Array.isArray('a')); // false
console.log(Array.isArray(true)); // false
console.log(Array.isArray(function() { })); // false
console.log(Array.isArray(new function() { })); // false
4. toString
result test example (Polyfill extension)
Note: if web browser does not support
Array.isArray
method this approach is useful.
// ONLINE-RUNNER:browser;
// Polyfill:
if (!Array.isArray) {
Array.isArray = function(array) {
return Object.prototype.toString.call(array) === '[object Array]';
};
}
// Example:
console.log(Array.isArray([ ])); // true
console.log(Array.isArray(new Array())); // true
console.log(Array.isArray({ })); // false
console.log(Array.isArray(new Object())); // false
console.log(Array.isArray(5)); // false
console.log(Array.isArray('a')); // false
console.log(Array.isArray(true)); // false
console.log(Array.isArray(function() { })); // false
console.log(Array.isArray(new function() { })); // false