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


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

 

引言

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

正文

首先先告訴你們, typeof 是無法判斷一個變量是否為數組類型的,我們來看一下例子:

let arr = [1, 2, 3] console.log(typeof arr) // object 最后輸出的是object對象 

方法一

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

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,則說明該變量是數組類型;反之,說明該變量不是數組類型

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()來判斷是否為數組類型,例如

let arr = [1, 2, 3] console.log(Object.getPrototypeOf(arr) === Array.prototype) // true 返回true,說明變量arr是數組類型 

方法七

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

let arr = [1, 2, 3] console.log(Array.prototype.isPrototypeOf(arr)) // true 返回true,說明變量arr是數組類型 

結束語

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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM