Javascript中判断变量是数组还是对象(array还是object)

如果要判断一个变量是否为数组或对象,可以使用JavaScript中的typeof运算符和Array.isArray()方法。下面详细讲解JavaScript中判断变量是数组还是对象的攻略。

使用typeof运算符

  1. 使用typeof运算符判断变量类型

使用typeof运算符可以返回一个字符串,表示变量类型。如果变量是数组,返回的类型为object,如果变量是对象,返回的类型也是object。因此,不能仅使用typeof判断变量类型。

typeof [1, 2, 3] // "object"
typeof {name: "张三", age: 20} // "object"
  1. 判断数组类型

判断数组类型可以使用以下方法:

  • 使用Array.isArray()方法判断是否为数组。Array.isArray()方法返回布尔值,如果是数组返回true,否则返回false
Array.isArray([1, 2, 3]) // true
Array.isArray({name: "张三", age: 20}) // false
  • 判断对象是否具有length属性以及其属性值类型是否为number
var arr = [1, 2, 3];
var obj = {name: "张三", age: 20};
arr.length && typeof arr.length === "number" // true
obj.length && typeof obj.length === "number" // false

示例说明

下面通过两个示例详细说明如何判断一个变量是数组还是对象。

示例一

var arr = [1, 2, 3];
var obj = {name: "张三", age: 20};

if (Array.isArray(arr)) {
  console.log("arr is an array");
} else {
  console.log("arr is an object");
}

if (Array.isArray(obj)) {
  console.log("obj is an array");
} else {
  console.log("obj is an object");
}

结果输出:

arr is an array
obj is an object

解释:使用Array.isArray()判断变量是否为数组。arr是一个数组,而obj是一个对象,因此第一个判断输出数组,第二个判断输出对象。

示例二

var arr = [1, 2, 3];
var obj = {name: "张三", age: 20};

if (arr.length && typeof arr.length === "number") {
  console.log("arr is an array");
} else {
  console.log("arr is an object");
}

if (obj.length && typeof obj.length === "number") {
  console.log("obj is an array");
} else {
  console.log("obj is an object");
}

结果输出:

arr is an array
obj is an object

解释:判断对象是否具有length属性以及其属性值类型是否为numberarr是一个数组,其具有length属性且属性值类型为number,因此第一个判断输出数组,第二个判断输出对象。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript中判断变量是数组还是对象(array还是object) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • javascript Range对象跨浏览器常用操作第1/2页

    下面是“JavaScript Range对象跨浏览器常用操作”完整攻略。 JavaScript Range对象跨浏览器常用操作 Range对象概述 Range对象代表文档中的一个区域,通常被用于选择文本或修改文档的样式。Range对象是DOM Level 2中新引入的,但是在各个浏览器中实现不一致,所以需要跨浏览器的操作和使用。 获取Range对象 在获取R…

    JavaScript 2023年5月27日
    00
  • JS实现选定指定HTML元素对象中指定文本内容功能示例

    实现选定指定HTML元素对象中指定文本内容功能,可以通过JS中的DOM操作实现。具体步骤如下: 获取指定HTML元素对象 通过JS的document.getElementById()或document.querySelector()方法获取到要操作的HTML元素对象。例如,如果我们要获取ID为”myDiv”的div元素对象,可以使用以下代码: var myD…

    JavaScript 2023年6月10日
    00
  • typescript难学吗?前端有必要学?该怎么学typescript

    一、 TypeScript 简介TypeScript 是 JavaScript 的超集,为 JavaScript 添加了静态类型、类、接口、命名空间等功能。TypeScript 还可以编译成纯 JavaScript,因此可以在任何浏览器、任何计算机和任何操作系统上执行。 二、 TypeScript 学习难度相对于纯 JavaScript,TypeScript…

    JavaScript 2023年5月27日
    00
  • javascript将异步校验表单改写为同步表单

    如果要将异步校验表单改写为同步表单,主要有以下几个步骤: 1. 禁用默认表单提交行为 表单默认的提交行为是异步提交,因此我们需要先禁用默认的表单提交行为。禁用表单提交行为的方式有两种: 在表单的submit事件中返回false 在表单的submit事件中返回false可以阻止表单的默认提交行为。代码如下: const form = document.quer…

    JavaScript 2023年6月10日
    00
  • ajax.net对数据库的插入实例

    关于”ajax.net对数据库的插入实例”,以下是详细的攻略: 准备工作 在开始编写代码前,我们需要完成以下准备工作: 安装Visual Studio。 配置数据库(SQL Server 或 MySQL)。 创建一个新网站(可以是WebForms项目或MVC项目),并在项目中添加对jQuery、Ajax.NET库的引用。 在准备工作完成后,我们可以开始编写代…

    JavaScript 2023年6月11日
    00
  • Bootstrap Validator 表单验证

    关于 Bootstrap Validator 表单验证的完整攻略,以下是我整理出的步骤,希望能对你有所帮助。 1. 引入 Bootstrap Validator 和 jQuery 库 在任意版本的 Bootstrap Validator 之前,都需要先引入 jQuery 库。当然,如果你使用的是与 Bootstrap 3.x 兼容的 Bootstrap Va…

    JavaScript 2023年6月10日
    00
  • JS Generator函数yield表达式示例详解

    JS Generator函数yield表达式示例详解 什么是JS Generator函数 JS Generator函数是另一种可以从函数中提供多个值的方法。Generator函数使用yield关键字来定义生成器函数体内的多个值。当调用生成器函数时,会返回一个迭代器对象,使用此对象可以使用next()方法从函数中提取这些值。 以下是JS Generator函数…

    JavaScript 2023年6月11日
    00
  • JS中setTimeout和setInterval的最大延时值详解

    JS中setTimeout和setInterval的最大延时值详解 在 JavaScript 中,setTimeout 和 setInterval 都可以用来延迟执行一段代码。但是它们的使用时需要注意,因为它们都有一个最大延时值。 setTimeout 的最大延时值 在 JavaScript 中,可以使用 setTimeout 来延迟执行一段代码。setTi…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部