Johan Johan - 1 year ago 32
jQuery Question

Why does typeof array with objects return "Object" and not "Array"?

Possible Duplicate:

JavaScript: Check if object is array?

Why is an array of objects considered an object, and not an array? For example:

url: '',
data: { screen_name: 'mick__romney'},
dataType: 'jsonp',
success: function(data) {
console.dir(data); //Array[20]
alert(typeof data); //Object



One of the weird behaviour and spec in Javascript is the typeof Array is Object.

You can check if the variable is an array in couple of ways:

var isArr = data instanceof Array;
var isArr = Array.isArray(data);

But the most reliable way is:

isArr = == '[object Array]';

Since you tagged your question with jQuery, you can use jQuery isArray function:

var isArr = $.isArray(data);