JS中区分对象和数组的四种方法

1,200 阅读1分钟

方法一:通过调用constructor来识别

{}.constructor    //返回object
[].constructor    //返回Array

方法二:通过instance of来识别

[] instance of Array   //true
{} instance of Array   //false

方法三:通过Object,prototype.toString.call方法来识别

Object.prototype.toString.call([])   //["object Array"]
Object.prototype.toString.call({})   //["object Object"]

方法四:通过ES6中的Array.isArray来识别

Array.isArray([])  //true
Array.isArray({})  //false