区分数组还是对象的四种方法

区分数组还是对象的四种方法,第1张

在使用typeof来检测变量类型时,数组对象的类型都是"object"

那怎么区分是数组还是对象呢
四种方法:

以上三种推荐第二种,其他两种在某些情况会有问题。

不过低版本浏览器不支持。可以手动实现:

参考资料
继承模式,命名空间,对象枚举(下)
JS中判断对象是对象还是数组的方法
js里判断变量是数组还是对象的四种方法
js数组与对象的区别

var arr=[{name: 'cst', age: '18'}, {name: 'jc', age: '20'}, {name: 'dxm', age: '50'} , {name: 'dcg', age: '30'}];
let brr=arrfilter(n => {
return nnameindexOf('c')>-1;
})map(a => {
aage=(Number(aage)+1)toString();
return a;
});
consolelog(brr);

本来判断一个对象类型用typeof是最好的,不过对于Array类型是不适用的
可以使用 instanceof *** 作符
var arrayStr=new Array("1","2","3","4","5");
alert(arrayStr instanceof Array);
当然以上在一个简单的页面布局里面是没有问题的,如果是复杂页面情况,入获取的是frame内部的Array对象,可以用这个函数判断:
function isArray(obj) {
return ObjectprototypetoStringcall(obj) === '[object Array]';
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13396311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存