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]",就可以准确判断这个值是否为数组了。
