专业编程基础技术教程

网站首页 > 基础教程 正文

JavaScript判断一个变量是否是数组的6个方法

ccvgpt 2024-11-13 09:56:01 基础教程 8 ℃

js中用typeof来检测数组会返回object

let arr = [];
console.log(typeof arr);//object

想要确定变量是不是数组可以用以下方法来实现

JavaScript判断一个变量是否是数组的6个方法

1、instanceof 判断arr是不是Array构造器构造出来的

let arr = [];
console.log(arr instanceof Array); // true
// arr 是 Array 构造出来的吗?

2、constructor 判断arr原型下的constructor指向的构造器是不是Array

let arr = [];
console.log(arr.constructor === Array); // true

3、同上 也可以使用arr下的__proto__是否指向Array的原型

let arr = [];
console.log(arr.__proto__ === Array.prototype); //true

4、Array下的方法isArray也可以判断

let arr = [];
console.log(Array.isArray(arr)); // true

5、利用Object顶层对象下的toString方法,返回的是当前调用者的数据类型,如果是字符串则返回'[object String]',数字返回'[object Number]'。

所以调用前call改变this指向返回arr的数据类型。

返回 '[object Array]' 字符串,即可用indexOf查询、slice截取等操作判断是否为数组

let arr = [];
console.log(Object.prototype.toString.call(arr)); // '[object Array]'

6、isPrototypeOf是Array下的方法,可以判断arr的原型链上是否存在Array

let arr = [];
console.log(Array.prototype.isPrototypeOf(arr));// true

最近发表
标签列表