What's the 'right' way to tell if an object is an Array?
function isArray(o) { ??? }
The best way:
function isArray(obj) {
return Object.prototype.toString.call(obj) == '[object Array]';
}
The ECMAScript 5th Edition Specification defines a method for that, and some browsers, like Firefox 3.7alpha, Chrome 5 Beta, and latest WebKit Nightly builds already provide a native implementation, so you might want to implement it if not available:
if (typeof Array.isArray != 'function') {
Array.isArray = function (obj) {
return Object.prototype.toString.call(obj) == '[object Array]';
};
}
You should be able to use the instanceof
operator:
var testArray = [];
if (testArray instanceof Array)
...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With