2020-10-10 陣列和物件的區分方法

L_Z_jay發表於2020-10-10

1.第一種物件和陣列裡邊都包含著一個屬性(constructor),可以按照下邊的方法區分:

let object  = {
    'a':1,
    'b' :2,
    'c' :3
};
let array = [1,2,3];
console.log(object.constructor);   // ƒ Object() { [native code] }
console.log(array.constructor);    // ƒ Array() { [native code] }

2.使用 instanceof 來判斷是否是陣列

let object  = {
    'a':1,
    'b' :2,
    'c' :3
};
let array = [1,2,3];
console.log(object instanceof Array);    //false
console.log(array instanceof Array);     //true

3.使用es6中的  Array.isArray( ) 來判斷是否是陣列

let object  = {
    'a':1,
    'b' :2,
    'c' :3
};
let array = [1,2,3]; 
console.log(Array.isArray(array));    // true
console.log(Array.isArray(object));   // false

4.使用 Object.prototype.toString.call( )

let object  = {
    'a':1,
    'b' :2,
    'c' :3
};
let array = [1,2,3];
console.log(Object.prototype.toString.call(object));    //[object Object]
console.log(Object.prototype.toString.call(array));     //[object Array]

5.本人一般常用的第二種 和第三種方法,

相關文章