js判断对象是否为数组

1.ECMAScript5中有一个现成的方法:Array.isArray()。

var obj = {1:[1],2:[2]},
    arr = [1],
    str = "1";
Array.isArray(obj) // return false
Array.isArray(arr) // return true
Array.isArray(str) // return false

2.instanceof
instanceof操作符用于判断对象是不是类的实例。使用方法是object instanceof Class

var obj = {1:[1],2:[2]},
    arr = [1],
    str = "1";
obj instanceof Array // return false
arr instanceof Array // return true
str instanceof Array // return false

3.原型
所有Javascript对象都派生自Object对象,可以通过call方法调用Object的prototype属性判断对象是不是数组。

var obj = {1:[1],2:[2]},
    arr = [1],
    str = "1";
Object.prototype.toString.call(obj); //return "[object Object]"
Object.prototype.toString.call(arr); //return "[object Array]"
Object.prototype.toString.call(str); //return "[object String]"

  

原文地址:https://www.cnblogs.com/echo-ling/p/7483723.html