JavaScript Array.isArray() 方法

JavaScript Array.isArray() 语法

Array.isArray() 是 JavaScript 数组的一个静态方法,它用于判断给定值是否是一个数组。

语法:

Array.isArray(value)

说明:

Array.isArray() 方法接收单个参数,该参数是一个值。Array.isArray() 最终会返回一个布尔值,也就是 true 或 false。

注意: isArray() 是一个静态方法,只能供类名(即 Array)调用,而无法被数组实例调用。

JavaScript Array.isArray() 摘要

属于 JavaScript Array 对象
使用频率
官方文档 查看
MDN 查看

JavaScript Array.isArray() 示例

接下来,我们通过一个简单的例子来讲解一下 JavaScript Array.isArray() 方法是如何使用的。

示例 1:Array.isArray() 基本用法

console.log(Array.isArray([1, 2, 3]));
console.log(Array.isArray("Jack"));
console.log(Array.isArray(undefined));
console.log(Array.isArray({ name: "Jack" }));

运行结果如下。

true
false
false
false

分析:

可能有小伙伴会问:“为什么不能使用 typeof 来判断一个数组呢?”其实在 JavaScript 中,数组本质上是一个对象。

console.log(typeof [1, 2, 3]);    // 输出: "object"

因此我们是无法使用 typeof 来判断数组的,而应该使用 Array.isArray() 方法。

深入了解 Array.isArray()

判断某一个值是否数组,使用 Array.isArray() 判断非常简单。不过在前端面试中,有些面试官可能会让你使用其他方式来实现,又应该怎么整呢?

示例 2:使用其他方式判断数组

var result = Object.prototype.toString.call([1, 2, 3]);
console.log(result);
if (result === "[object Array]") {
    console.log("这是一个数组");
} else {
    console.log("这不是数组");
}

运行结果如下。

[object Array]
这是一个数组

分析:

如果某一个值是数组,那么 Object.prototype.toString.call() 会输出这样一个字符串:"[object Array]"。接着我们通过判断该字符串是否严格等于 "[object Array]",就可以准确判断这个值是否为数组了。

上一篇: length

下一篇: Array.of()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号