JavaScript 用七種方式教你判斷一個變量是否爲數組類型

JavaScript 如何判斷一個變量是否爲數組類型

引言

咱們如何判斷一個變量是否爲數組類型呢? 今天來給你們介紹七種方式,別走開, 這確定會被問到的~繼續往下看吧javascript

正文

首先先告訴大家, typeof 是沒法判斷一個變量是否爲數組類型的,咱們來看一下例子:java

let arr = [1, 2, 3]
console.log(typeof arr)

// object 最後輸出的是object對象

方法一

使用 instanceof 運算符, 該運算符左邊是咱們想要判斷的變量, 右邊則是咱們想要判斷的對象的類, 例如:web

let arr = [1, 2, 3]
console.log(arr instanceof Array)

// true 返回true,說明變量arr是數組類型

方法二

利用構造函數來判斷他的原型是否爲Array, 用法: 變量.constructor === 變量類型面試

let arr = [1, 2, 3]
console.log(arr.constructor === Array)

// true 返回true,說明變量arr是數組類型

方法三

第三種方法利用的一個專門的方法 isArray(), 用法:Array.isArray(變量),返回true,則說明該變量是數組類型;反之,說明該變量不是數組類型數組

let arr = [1, 2, 3]
console.log(Array.isArray(arr))

// true 返回true,說明變量arr是數組類型

方法四

第四種方法是調用Object.prototype.toString.call(),返回true,則說明該變量是數組類型;反之,說明該變量不是數組類型svg

let arr = [1, 2, 3]
console.log(Object.prototype.toString.call(arr) === '[object Array]')

// true 返回true,說明變量arr是數組類型

方法五

第五種方式是經過對象的原型方式來判斷,直接來看例子函數

let arr = [1, 2, 3]
console.log(arr.__proto__ === Array.prototype)

// true 返回true,說明變量arr是數組類型

方法六

第六種方式是經過 Object.getPrototypeOf()來判斷是否爲數組類型,例如spa

let arr = [1, 2, 3]
console.log(Object.getPrototypeOf(arr) === Array.prototype)

// true 返回true,說明變量arr是數組類型

方法七

第七種方式是經過 isPrototypeOf() 方法來判斷是否爲數組類型,例如prototype

let arr = [1, 2, 3]
console.log(Array.prototype.isPrototypeOf(arr))

// true 返回true,說明變量arr是數組類型

結束語

當你面試中被問到如何判斷一個變量是否爲數組類型的時候,你就將這七種方式脫口而出吧, 必定會讓面試官大吃一斤的~code

相關文章
相關標籤/搜索