您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關使用JavaScript怎么判斷元素是否為數組,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
此處提供可供驗證的數據類型
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()能判斷一個元素是否為數組,如果是就返回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
判斷是否為數組就是檢測Arrray.prototype屬性是否存在于變量數組(a,b)的原型鏈上,顯然a,b為數組,擁有Arrray.prototype屬性,所以為true
3.通過對象構造函數的constructor判斷
Obiect的每個實例都有構造函數constructor,保存著創建每個對象的函數
console.log(a.constructor === Array); // true console.log(b.constructor === Array); // true
以下包含判斷其它的數據類型驗證
console.log(c.constructor === Number); // true console.log(d.constructor === String); // true console.log(e.constructor === Object); // true
4.通過Object.prototype.toString.call()判斷
通過原型鏈查找調用
console.log(Object.prototype.toString.call(a) === '[object Array]'); // true console.log(Object.prototype.toString.call(b) === '[object Array]'); // true
以下包含判斷其它的數據類型驗證
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的構造函數原型,里面包含有一個方法 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
關于使用JavaScript怎么判斷元素是否為數組就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。