JavaScript 如何判斷一個變量是否為數組類型
- 引言
- 正文
- 方法一方法二方法三方法四方法五方法六方法七
- 結束語
引言
我們如何判斷一個變量是否為數組類型呢? 今天來給大家介紹七種方式,別走開, 這肯定會被問到的~繼續往下看吧
正文
首先先告訴你們, typeof 是無法判斷一個變量是否為數組類型的,我們來看一下例子:
let arr = [1, 2, 3]
console.log(typeof arr)
// object 最后輸出的是object對象
1234
方法一
使用 instanceof 運算符, 該運算符左邊是我們想要判斷的變量, 右邊則是我們想要判斷的對象的類, 例如:
let arr = [1, 2, 3]
console.log(arr instanceof Array)
// true 返回true,說明變量arr是數組類型
1234
方法二
利用構造函數來判斷他的原型是否為Array, 用法: 變量.constructor === 變量類型
let arr = [1, 2, 3]
console.log(arr.constructor === Array)
// true 返回true,說明變量arr是數組類型
1234
方法三
第三種方法利用的一個專門的方法 isArray(), 用法:Array.isArray(變量),返回true,則說明該變量是數組類型;反之,說明該變量不是數組類型
let arr = [1, 2, 3]
console.log(Array.isArray(arr))
// true 返回true,說明變量arr是數組類型
1234
方法四
第四種方法是調用Object.prototype.toString.call(),返回true,則說明該變量是數組類型;反之,說明該變量不是數組類型
let arr = [1, 2, 3]
console.log(Object.prototype.toString.call(arr) === '[object Array]')
// true 返回true,說明變量arr是數組類型
1234
方法五
第五種方式是通過對象的原型方式來判斷,直接來看例子
let arr = [1, 2, 3]
console.log(arr.__proto__ === Array.prototype)
// true 返回true,說明變量arr是數組類型
1234
方法六
第六種方式是通過 Object.getPrototypeOf()來判斷是否為數組類型,例如
let arr = [1, 2, 3]
console.log(Object.getPrototypeOf(arr) === Array.prototype)
// true 返回true,說明變量arr是數組類型
1234
方法七
第七種方式是通過 isPrototypeOf() 方法來判斷是否為數組類型,例如
let arr = [1, 2, 3]
console.log(Array.prototype.isPrototypeOf(arr))
// true 返回true,說明變量arr是數組類型
1234
結束語
當你面試中被問到如何判斷一個變量是否為數組類型的時候,你就將這七種方式脫口而出吧, 一定會讓面試官大吃一斤的~
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
發表評論
請登錄后評論...
登錄后才能評論