如何在 JavaScript 中检查一个对象是否为数组?


数组是一种数据类型,可以存储多个相同数据类型的元素。例如,如果一个数组声明为整数数据类型,那么它将存储一个或多个整数数据类型的元素。

要检查给定的对象或了解数据类型,我们可以在 JavaScript 中直接使用 typeof() 方法。

使用 typeof() 方法

typeof() 是一个函数,它给出给定对象的类型。typeof() 将返回一个字符串,该字符串是给定操作数的数据类型。操作数可以是对象、变量或函数。对于所有这些,它都会相应地返回类型。

语法

typeof() 的语法如下。

Typeof(operand) // operand can be a function, object or a variable.

现在,我们将继续了解此方法的工作原理。

示例 1

此示例演示了如何使用typeof()获取操作数的数据类型 -

function getType(){ str = "Abdul Rawoof" arr = [1,3,5,8] num = 90 set1 = ([1,265,890,22]) dict = {a:1,b:2} console.log("The input is: ",str," and the type is: ",typeof(str)) console.log("The input is: ",arr," and the type is: ",typeof(arr)) console.log("The input is: ",num," and the type is: ",typeof(num)) console.log("The input is: ",set1," and the type is: ",typeof(set1)) console.log("The input is: ",dict," and the type is: ",typeof(dict)) } getType()

但是,当使用typeof()函数时,它不会返回“Array”作为它是否为数组,而是返回“Object”。因此,为了克服这个问题,使用了其他方法。

使用 isArray()

isArray()是一个函数,如果给定的输入是数组,则返回“array”。它仅用于知道给定的输入是否为数组,不像 typeof() 给出给定输入的数据类型。

如果给定的输入是数组,则此函数返回“true”,如果不是,则返回“false”。

语法

以下是 isArray() 方法的语法。

Array.isArray(object)

这里的 Object 是 isArray() 的参数,它可以是数组、字符串、集合、映射等。

示例 2

此示例演示了 isArray() 函数的使用来检查数组 -

<!DOCTYPE html> <html> <head> </head> <body> <p> checking given input isx array with isArray() function </p> <script> dict = {name: "John", age: 18}; arr = ["red", "green", "blue", "yellow"]; arr1 = [1, 2, 3, 4, 5]; null1 = null; document.write("Given input is "+ dict + " is an array :" + Array.isArray(dict) + "<br>"); document.write("Given input is "+ arr + " is an array :"+Array.isArray(arr) + "<br>"); document.write("Given input is "+ arr1 + " is an array :"+Array.isArray(arr1) + "<br>"); document.write("Given input is "+ null1 + " is an array :"+Array.isArray(null1)); </script> </body> </html>

使用构造函数

您可以使用 arr.constructor === Array 来确定对象是否为数组。但这并非适用于所有对象。

// This will fail: console.log(undefined.constructor === Array) // This will fail: console.log(null.constructor === Array) console.log("".constructor === Array) console.log({}.constructor === Array) console.log([].constructor === Array) console.log([1, "hello"].constructor === Array) console.log(new Array().constructor === Array)

更新于: 2022-08-26

205 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告