返回
JavaScript 判断数组类型合集,涨知识了!
前端
2023-12-02 20:42:20
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数组类型的方法。您可以根据自己的需要选择最合适的方法。