利用JS判斷元素是否為數(shù)組的方法示例
此處提供可供驗證的數(shù)據(jù)類型
let a = [1,2,3,4,5,6];
let b = [
{name: '張飛', type: 'tank'},
{name: '關(guān)羽', 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運(yùn)算符用于檢測某個實例是否屬于某個對象原型鏈中
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.通過對象構(gòu)造函數(shù)的constructor判斷
Obiect的每個實例都有構(gòu)造函數(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的構(gòu)造函數(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
總結(jié)
到此這篇關(guān)于利用JS判斷元素是否為數(shù)組的文章就介紹到這了,更多相關(guān)JS判斷元素為數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JS判斷數(shù)組里是否有重復(fù)元素的方法小結(jié)
- 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)元素是否重復(fù)的方法集錦
- 利用JS十分鐘判斷數(shù)組中存在元素的多種方式
- JS判斷元素是否存在數(shù)組中的5種方式總結(jié)
相關(guān)文章
小程序自定義tabbar導(dǎo)航欄及動態(tài)控制tabbar功能實現(xiàn)方法(uniapp)
在項目中遇到一個需求,根據(jù)不同的賬號,生成不同的tabBar,下面這篇文章主要給大家介紹了關(guān)于小程序自定義tabbar導(dǎo)航欄及動態(tài)控制tabbar功能實現(xiàn)方法(uniapp)的相關(guān)資料,需要的朋友可以參考下2022-12-12
JavaScript中實現(xiàn)無縫滾動、分享到側(cè)邊欄實例代碼
本文給通過js代碼實現(xiàn)無縫滾動,側(cè)邊欄效果,在項目中經(jīng)常會遇到,下面小編把代碼整理分享到腳本之家平臺,供大家參考2016-04-04
JavaScript請求后臺數(shù)據(jù)的常用方法匯總
這篇文章主要介紹了JavaScript請求后臺數(shù)據(jù)的幾種常用方式,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06
通過實例了解Render Props回調(diào)地獄解決方案
這篇文章主要介紹了通過實例了解Render Props回調(diào)地獄解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11

