开发者社区> 问答> 正文

为什么带有对象的typeof数组返回“对象”而不是“数组”?

为什么将对象数组视为对象而不是数组?例如:

$.ajax({ url: 'http://api.twitter.com/1/statuses/user_timeline.json', data: { screen_name: 'mick__romney'}, dataType: 'jsonp', success: function(data) { console.dir(data); //Array[20] alert(typeof data); //Object } });​

展开
收起
保持可爱mmm 2020-02-07 00:59:20 583 0
1 条回答
写回答
取消 提交回答
  • javascript的怪异行为和规范之一就是Array is Object。

    您可以通过以下几种方法检查变量是否为数组:

    var isArr = data instanceof Array; var isArr = Array.isArray(data); 但是最可靠的方法是:

    isArr = Object.prototype.toString.call(data) == '[object Array]'; 由于您使用jQuery标记了问题,因此可以使用jQuery isArray函数:

    var isArr = $.isArray(data);

    问题来源于stack overflow

    2020-02-07 00:59:42
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载