识别数组对象

这个问题在这里已经有了答案:

  • 你如何检查一个变量是否是JavaScript中的数组? [复制] 24个答案
  • 检查对象是否是数组? 38个答案

  • 在纯JavaScript中,您可以使用以下跨浏览器方法:

    if (Object.prototype.toString.call(x) === "[object Array]") {
        // is plain array
    }
    

    jQuery有特殊的方法:

    if ($.isArray(x)) {
        // is plain array
    }
    

    你可以使用instanceof 。 以下是一些FireBug测试:

    test1 = new Object();
    test2 = new Array();
    test3 = 123;
    
    console.log(test1 instanceof Array); //false
    console.log(test2 instanceof Array); //true
    console.log(test3 instanceof Array); //false

    最佳做法是调用目标对象上的Object.prototype.toString() ,该对象显示内部[[Class]]属性名称。

    Object.prototype.toString.call( x ); // [object Array]
    

    无论您是在多框架/窗口环境中工作,这会导致使用x instanceof Array出现问题,这具有冒险性,它适用于任何对象。


    较新的ES5实现,也给你方法Arrays.isArray() ,它返回truefalse

    Array.isArray( x ); // true
    

    最后但并非最不重要的,jQuery有它自己的.isArray()方法,它也返回一个布尔值

    jQuery.isArray( x ); // true
    
    链接地址: http://www.djcxy.com/p/19295.html

    上一篇: Identifying Array Object

    下一篇: RotateDrawable Programmatically in android