在 Javascript 中判断一个变量是否为数组 ,你可能在网上看到过很多方法,其他在实际应用中很多都用不到,那么多方法华而不实。

本文将介绍实用又简单的 Javascript 如何判断一个变量是否为数组的方法。

本文将介绍如下几种在 JS 中判断一个变量是否为数组的方法:

  • js 使用 Array.isArray() 方法判断变量是数组
  • js 使用 instanceof 判断一个变量是否为数组

推荐:使用 Array.isArray() 方法判断变量是数组

推荐使用该方法,该方法最简也非常准确,很多第三方的 Javascript 库也是使用该方法判断一个变量是否为数组。

Array.isArray() 是数组提供的静态方法,用于判断一个变量是否为数组。

使用 Array.isArray() 判断变量是否为数组的示例代码:

const arr = [1, 2, 3];

console.log(Array.isArray(arr));
// 输出为: true

使用 instanceof 判断变量是否为数组

JavaScript 的内置函数 instanceof 在判断变量的类型时,不只是判断创建变量的构造函数(constructor)的类型,同时判断在其原型类链(继承类)上是否存在一个构造函数(constructor)与当前需要匹配的类型相同。

在 js 中使用 instanceof 判断变量是否为数组的示例:

const arr = [1, 2, 3];

console.log(arr instanceof Array);
// 输出为: true

注:在有的文章中还使用 Object.prototype.toString.call(),判断一个变量是否为数组,其实没有必要,方法不是越多越好,要寻找最简单、最准确、最实用的。

结语

本文了介绍两种在 JS 中最实用、最简单的判断一个变量是否为数组的方法,分别是:js 基于 Array.isArray() 静态方法判断一个变量是否为数组,js 使用 instanceof 判断一个变量是否为数组。