如何检查数组在JavaScript中是否为真数组?

在javascript中,数组不是true数组。它们是javascript对象。因此,当我们尝试使用typeof()运算符了解其类型时,显示的输出将为object。

语法

typeof(operand);

参数 -的typeof()运算符采用一个操作数并返回操作数的数据类型。 

在下面的示例中,即使变量“ a”是一个数组,由于通常每个数组都是对象,因此 typeof()运算符将输出作为对象返回。

示例

<html>
<body>
<script>
   var a = [1,2,5,"hello"];
   document.write(typeof(a));
   var b = {};
   document.write("</br>");
   document.write(typeof(b));
</script>
</body>
</html>

输出结果

object
object

typeof()运算符不同,Array.isArray()检查传递的参数是否为array。如果参数是数组,则输出为true ,否则为false 

语法

Array.isArray(array);

在下面的示例中,数组'a'和对象'b'通过Array.isArray()方法传递。此方法检查它们并分别显示true false 作为输出。

示例

<html>
<body>
<script>
   var a = [1,2,5,"hello"];
   var res1 = Array.isArray(a);
   document.write(res1);
   document.write("</br>");
   var b = {};
   var res2 = Array.isArray(b);
   document.write(res2);
</script>
</body>
</html>

输出结果

true
false