snippetjavascriptCritical
How can I check if an object is an array?
Viewed 0 times
arrayobjecthowcheckcan
Problem
I'm trying to write a function that either accepts a list of strings, or a single string. If it's a string, then I want to convert it to an array with just the one item so I can loop over it without fear of an error.
So how do I check if the variable is an array?
So how do I check if the variable is an array?
Solution
In modern browsers you can do:
(Supported by Chrome 5, Firefox 4.0, Internet Explorer 9, Opera 10.5 and Safari 5)
For backward compatibility you can add the following:
If you use jQuery you can use
If you don't need to detect arrays created in different frames you can also just use
Array.isArray(obj)(Supported by Chrome 5, Firefox 4.0, Internet Explorer 9, Opera 10.5 and Safari 5)
For backward compatibility you can add the following:
// Only implement if no native implementation is available
if (typeof Array.isArray === 'undefined') {
Array.isArray = function(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
};If you use jQuery you can use
jQuery.isArray(obj) or $.isArray(obj). If you use Underscore.js you can use _.isArray(obj).If you don't need to detect arrays created in different frames you can also just use
instanceof:obj instanceof ArrayCode Snippets
Array.isArray(obj)// Only implement if no native implementation is available
if (typeof Array.isArray === 'undefined') {
Array.isArray = function(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
};obj instanceof ArrayContext
Stack Overflow Q#4775722, score: 1615
Revisions (0)
No revisions yet.