返回

JavaScript 判断数组类型合集,涨知识了!

前端

JavaScript判断数组类型的方法

1. instanceof

instanceof是JavaScript中用于检测构造函数的prototype属性是否出现在另一个对象的原型链中的一个运算符。

语法:

object instanceof constructor

例如:

var arr = [];
console.log(arr instanceof Array); // true
console.log(arr instanceof Object); // true

instanceof可以用来判断一个变量是否是数组类型,但需要注意的是,instanceof也可以用来判断一个变量是否是其他类型的对象,例如Date、String、Number等。

2. Object.prototype.toString

Object.prototype.toString是JavaScript中的一个内置方法,用于返回一个对象的字符串表示。

语法:

object.toString()

例如:

var arr = [];
console.log(Object.prototype.toString.call(arr)); // "[object Array]"
console.log(Object.prototype.toString.call({})); // "[object Object]"
console.log(Object.prototype.toString.call(1)); // "[object Number]"

Object.prototype.toString可以用来判断一个变量是否是数组类型,但需要注意的是,Object.prototype.toString也可以用来判断一个变量是否是其他类型的对象,例如Date、String、Number等。

3. Array.isArray

Array.isArray是JavaScript中的一个内置方法,用于判断一个变量是否是数组类型。

语法:

Array.isArray(object)

例如:

var arr = [];
console.log(Array.isArray(arr)); // true
console.log(Array.isArray({})); // false
console.log(Array.isArray(1)); // false

Array.isArray只能用来判断一个变量是否是数组类型,不能用来判断一个变量是否是其他类型的对象。

4. Object

Object.prototype.toString.call(object) === '[object Array]'

var arr = [];
console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true
console.log(Object.prototype.toString.call({})); // false
console.log(Object.prototype.toString.call(1)); // false

总结

以上就是几种判断JavaScript数组类型的方法。您可以根据自己的需要选择最合适的方法。

扩展阅读