您的位置:

JS判断是数组还是对象解析

一、typeof关键字

JavaScript中有一个typeof关键字,用于判断变量的类型,其中参数可以是数字、字符串、布尔、对象、函数等。如果要判断一个值是否为数组或对象,可以使用typeof关键字。

let myArr = [1, 2, 3];
let myObject = {name: "Tom", age: 18};

console.log(typeof myArr); // 输出结果为: "object"
console.log(typeof myObject); // 输出结果为: "object"

以上代码可以看出,使用typeof关键字可以判断变量的类型,但是对于数组和对象都会输出"object",并不能准确地判断该值是数组还是对象。

二、instanceof关键字

JavaScript中有另一个instanceof关键字,它可以判断一个对象是否为某个类的实例,比如Array、Object、Function等。因为数组和对象均是对象类型,所以可以通过instanceof关键字来判断一个值是否是数组。

let myArr = [1, 2, 3];

console.log(myArr instanceof Array); // 输出结果为: true

以上代码中使用instanceof关键字可以判断一个值是否为Array类型,而对于对象类型,无法通过instanceof关键字来进行判断。

三、constructor关键字

JavaScript中每个对象都有一个constructor属性,该属性指向创建该对象的构造函数,可以通过该属性来判断一个值是哪个构造函数创建的。

let myArr = [1, 2, 3];
let myObject = {name: "Tom", age: 18};

console.log(myArr.constructor === Array); // 输出结果为: true
console.log(myObject.constructor === Object); // 输出结果为: true

以上代码中使用constructor关键字可以判断一个值是哪个构造函数创建的。对于数组和对象都可以使用这种方法来进行判断。

四、Array.isArray方法

JavaScript中还有一个Array.isArray()方法,可以判断一个值是否为数组类型。

let myArr = [1, 2, 3];
let myObject = {name: "Tom", age: 18};

console.log(Array.isArray(myArr)); // 输出结果为: true
console.log(Array.isArray(myObject)); // 输出结果为: false

以上代码中使用Array.isArray方法可以准确判断一个值是否为数组类型,对于对象类型则无法判断。

五、Object.prototype.toString方法

所有的对象都有一个toString方法,但是该方法没有对对象进行分类处理,而是返回"[object Object]"。因此,可以通过这个方法来判断一个值是否为数组类型。

let myArr = [1, 2, 3];
let myObject = {name: "Tom", age: 18};

console.log(Object.prototype.toString.call(myArr) === "[object Array]"); // 输出结果为: true
console.log(Object.prototype.toString.call(myObject) === "[object Array]"); // 输出结果为: false

以上代码中使用Object.prototype.toString方法可以判断一个值是否为数组类型,当返回"[object Array]"时即为数组类型,否则为其他类型。

JS判断是数组还是对象解析

2023-05-20
重学java笔记,java笔记总结

2022-11-23
JS判断对象是否存在

2023-05-19
js判断是否是数组

2023-05-21
javascript简要笔记,JavaScript读书笔记

2022-11-17
印象笔记记录java学习(Java成长笔记)

2022-11-12
JS判断数组是否为空

2023-05-17
python判断是否json的简单介绍

本文目录一览: 1、python怎么判断json 字符串含有某一个字符 2、python json快速解析命令 3、py3笔记8:json结构的校验 4、python json 资料判断 true 或

2023-12-08
JS判断对象是否包含某个属性

2023-05-23
使用JS判断是否为undefined

2023-05-18
java基础知识学习笔记一,Java基础笔记

2022-11-21
使用JS判断数组对象中是否包含指定值的方法

2023-05-17
js实现判断年份为闰年的代码,js判断今年是否为闰年

本文目录一览: 1、怎么用“JS实现”判断闰年? 2、用JS实现判断闰年 3、JS如何优雅的判断闰年 怎么用“JS实现”判断闰年? function isLeapYear(year) //闰年能被4整

2023-12-08
JS判断对象不为空完整指南

2023-05-18
javascript一句话笔记,javascript基本语句

2022-11-16
mysql数据库完整笔记(mysql数据库数据)

2022-11-13
java学习笔记(java初学笔记)

2022-11-14
js判断是安卓手机还是ios,如何判断手机是安卓

2022-11-25
js实例判断(js判断函数)

本文目录一览: 1、js判断输入是否为数字的具体实例 2、js判断对象的属性是原型的还是实例的 3、js判断类型instanceof 怎么用 4、JavaScript比较两个对象是否相等几个例子 5、

2023-12-08
java笔记,大学java笔记

2022-11-28