简介
做数据处理,有时需要判断数据类型是对象还是数组,所以研究了三个便捷的方法。
具体实现
方法一:通过判断变量的类型,并且变量的length属性(除了有一种例外是arguments对象–当给函数传参时数据存储的地方)
var arr=[2, 3, 4];
var obj={ name: "maomao", age: 20 };
console.log(typeof arr); // object
console.log(typeof obj); // object
console.log(arr.length); // 3
console.log(obj.length); // undefined
// 这里说明在对象中并没有length属性,所以是未定义。
方法二:ECMAScript 5中可以使用isArray来判断
var arr=[2, 3, 4, "haa"];
var obj={ name:"maomao", age: 20 };
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(obj)); //false
参考链接: https://blog.csdn.net/itzhengmaolin/article/details/75453079.
方法三:通过变量的constructor方法进行区分
var arr=[2, 3, 4, "haa"];
var obj={ name:"maomao", age: 20 };
console.log(arr.constructor === Array);
console.log(obj.constructor === Object);
最后
觉得有用的朋友请用你的金手指点一下赞,或者评论留言一起探讨技术!