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.本人一般常用的第二种 和第三种方法,

猜你喜欢

转载自blog.csdn.net/L_Z_jay/article/details/109001853