利用JS判斷元素是否為數(shù)組的方法示例
此處提供可供驗證的數(shù)據(jù)類型
let a = [1,2,3,4,5,6]; let b = [ {name: '張飛', type: 'tank'}, {name: '關羽', type: 'soldier'}, {name: '劉備', type: 'shooter'}, ]; let c = 123; let d = 'www'; let e = {name: '安琪拉', type: 'mage'};
1.通過Array.isArray()
Array.isArray()能判斷一個元素是否為數(shù)組,如果是就返回true,否則就返回false
console.log(Array.isArray(a)); // true console.log(Array.isArray(b)); // true console.log(Array.isArray(c)); // false console.log(Array.isArray(d)); // false console.log(Array.isArray(e)); // false
2.通過instanceof判斷
instanceof運算符用于檢測某個實例是否屬于某個對象原型鏈中
console.log(a instanceof Array); // true console.log(b instanceof Array); // true console.log(c instanceof Array); // false console.log(d instanceof Array); // false console.log(e instanceof Array); // false
還可以用于判斷對象
console.log(e instanceof Object); // true
判斷是否為數(shù)組就是檢測Arrray.prototype屬性是否存在于變量數(shù)組(a,b)的原型鏈上,顯然a,b為數(shù)組,擁有Arrray.prototype屬性,所以為true
3.通過對象構造函數(shù)的constructor判斷
Obiect的每個實例都有構造函數(shù)constructor,保存著創(chuàng)建每個對象的函數(shù)
console.log(a.constructor === Array); // true console.log(b.constructor === Array); // true
以下包含判斷其它的數(shù)據(jù)類型驗證
console.log(c.constructor === Number); // true console.log(d.constructor === String); // true console.log(e.constructor === Object); // true
4.通過Object.prototype.toString.call()判斷
通過原型鏈查找調(diào)用
console.log(Object.prototype.toString.call(a) === '[object Array]'); // true console.log(Object.prototype.toString.call(b) === '[object Array]'); // true
以下包含判斷其它的數(shù)據(jù)類型驗證
console.log(Object.prototype.toString.call(c) === '[object Number]'); // true console.log(Object.prototype.toString.call(d) === '[object String]'); // true console.log(Object.prototype.toString.call(e) === '[object Object]'); // true
5.通過對象原型鏈上的isPrototypeOf()判斷
Array.prototype屬性為Array的構造函數(shù)原型,里面包含有一個方法 isPrototypeOf() 用于測試一個對象是否存在于;另一個對象的原型鏈上。
console.log(Array.prototype.isPrototypeOf(a)); // true console.log(Array.prototype.isPrototypeOf(b)); // true console.log(Array.prototype.isPrototypeOf(c)); // false console.log(Array.prototype.isPrototypeOf(d)); // false console.log(Array.prototype.isPrototypeOf(e)); // false
總結
到此這篇關于利用JS判斷元素是否為數(shù)組的文章就介紹到這了,更多相關JS判斷元素為數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- JS判斷數(shù)組里是否有重復元素的方法小結
- JavaScript判斷數(shù)組是否包含指定元素的方法
- JS判斷元素是否在數(shù)組內(nèi)的實現(xiàn)代碼
- JS判斷數(shù)組是否包含某元素實現(xiàn)方法匯總
- JS實現(xiàn)判斷數(shù)組是否包含某個元素示例
- 判斷數(shù)組是否包含某個元素的js函數(shù)實現(xiàn)方法
- javascript 判斷數(shù)組是否已包含了某個元素的函數(shù)
- javascript如何判斷數(shù)組內(nèi)元素是否重復的方法集錦
- 利用JS十分鐘判斷數(shù)組中存在元素的多種方式
- JS判斷元素是否存在數(shù)組中的5種方式總結
相關文章
JavaScript函數(shù)聲明和函數(shù)表達式的區(qū)別
這篇文章主要介紹了JavaScript函數(shù)聲明和函數(shù)表達式的區(qū)別,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06跟我學習javascript的call(),apply(),bind()與回調(diào)
跟我學習javascript的call(),apply(),bind()與回調(diào),感興趣的小伙伴們可以參考一下2015-11-11js實現(xiàn)鼠標拖動圖片并兼容IE/FF火狐/谷歌等主流瀏覽器
js實現(xiàn)鼠標拖動圖片做了兼容IE,F(xiàn)F火狐,谷歌等主流瀏覽器,具體實現(xiàn)代碼如下,感興趣的朋友可以參考下哈,希望對你有所幫助2013-06-06javascript 復雜的嵌套環(huán)境中輸出單引號和雙引號
如果簡單的嵌套一般都是外面用雙引號,則里面用單引號,反之亦同,如果特別負責的嵌套大家看下如下的方法。2009-05-05