为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 判断判断某个对象是Object还是一个Array

JavaScript 判断判断某个对象是Object还是一个Array

人到中年有点甜 2019-05-13 16:08:57
JavaScript 判断判断某个对象是Object还是一个Array
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞


如果你只是用typeof来检查该变量,不论是array还是object,都将返回‘objec'。
此问题的一个可行的答案是是检查该变量是不是object,并且检查该变量是否有数字长度(当为空array时长度也可能为0)。
然而,参数对象【arguments object】(传给制定函数的所有参数),也可能会适用于上述方法,技术上来说,参数对象并不是一个array。
此外,当一个对象有a.length属性的时候,这个方法也不成立。

// Real array 正在的数组
var my_array = [];
// Imposter! 冒名顶替的!
var my_object = {};
my_object.length = 0;
// Potentially faulty 潜在的错误
function is_this_an_array(param) {
if (typeof param === 'object' && !isNaN(param.length)) {
console.log('Congrats, you have an array!');
}
else {
console.log('Bummer, not an array');
}
}
// Works 成功
is_this_an_array(my_array);
// Works, but is incorrect 成功了,但是不正确
is_this_an_array(my_object);




查看完整回答
反对 回复 2019-05-14
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

if(typeof(obj)=="object"){alert("是对象")}else{alert("不是")},
但是javascript对于object定义的很宽泛,很多东西javascript都会认为是object,比如Date, String, Boolean, Number, Object, Function, Array, RegExp, Error。
判断是不是array,可以使用isArray()来判断
if(array.isArray()){"array是数组"}else{"array不是数组"}




查看完整回答
反对 回复 2019-05-14
  • 2 回答
  • 0 关注
  • 325 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号