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結束語
當你面試中被問到如何判斷一個變量是否為數組類型的時候,你就將這七種方式脫口而出吧, 一定會讓面試官大吃一斤的~
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/274766.html
微信掃一掃
支付寶掃一掃