JS判斷元素是否為陣列的方式

2021-10-14 06:38:20 字數 2428 閱讀 4937

let a = [1,2,3,4,5,6];

let b = [,,

,];let c = 123;

let d = 'www';

let e = ;

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

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

obiect的每個例項都有建構函式constructor,儲存著建立每個物件的函式

以下包含判斷其它的資料型別驗證

console.log(c.constructor === number);  // true

console.log(d.constructor === string); // true

console.log(e.constructor === object); // true

通過原型鏈查詢呼叫

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

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

js判斷是否為陣列

var array 1,2,3 console.log array instanceof array 父子頁面陣列賦值,可能無效 console.log array.constructor array 父子頁面陣列賦值,可能無效 console.log array.proto constructor...

js判斷變數型別是否為陣列

判斷變數的型別是最經常使用的方法,但是判斷的方式有很多。1.typeof var ary 1,2,3,4 console.log typeof ary 輸出 object 很明顯,typeof只能檢測基本資料型別,並不能檢測出來是否為陣列。2.instanceof var ary 1,2,3,4 c...

js判斷變數型別是否為陣列

判斷變數的型別是最經常使用的方法,但是判斷的方式有很多。1.typeof var ary 1,2,3,4 console.log typeof ary 輸出 object 很明顯,typeof只能檢測基本資料型別,並不能檢測出來是否為陣列。2.instanceof var ary 1,2,3,4 c...