js判断是对象还是数组
我们通常使用的typeof 方法是无法辨别该变量是对象还是数组类型,因为:let obj = {}let arr = []console.log(typeof obj) //objectconsole.log(typeof arr) //object解决方案:一、使用数组内置方法isArray来判断,但是只能判断变量是否是数组,而对象需要另外判断const a = [1, 2, 3, 4];con
·
我们通常使用的typeof 方法是无法辨别该变量是对象还是数组类型,因为:
let obj = {}
let arr = []
console.log(typeof obj) //object
console.log(typeof arr) //object
解决方案:
一、使用数组内置方法isArray来判断,但是只能判断变量是否是数组,而对象需要另外判断
const a = [1, 2, 3, 4];
const b = {"name": "abc"};
console.log(Array.isArray(a)) //true
console.log(Array.isArray(b)) //false
二、使用constructor来判断
const a = [2, 4, 3];
const b = {"name": "abc"};
console.log(a.constructor == Array); //true
console.log(b.constructor == Object); //true`
三、使用instanceOf运算符
左侧是待测试对象,右侧是构造函数。
凡是用new()构造函数创建出的对象,都为构造函数的实例。
const obj = {"name": "abc"};
const arr = [1, 2, 3];
console.log((obj instanceof Array)); //false
console.log((arr instanceof Array)); //true
更多推荐
已为社区贡献6条内容
所有评论(0)