代码之家  ›  专栏  ›  技术社区  ›  Anil Namde

如何检查该值是否为数组?

  •  0
  • Anil Namde  · 技术社区  · 14 年前

    是否有一种很好的内置方法可以确定值是否是数组?

    我能想到的一个简单检查如下,但我不喜欢:

    if(ele.push){ /* its array it has push method */ }
    

    我的意思是,我想知道下面的伪代码是否存在。 typeof 似乎不适用,因为它只返回“object”(尽管这很有意义)。

    function x(ele){ if(isArray(ele)){ /* dosomething() */ } }
    
    3 回复  |  直到 12 年前
        1
  •  2
  •   Pepper    14 年前

    http://www.andrewpeace.com/javascript-is-array.html

    <script type="text/javascript">
      function is_array(input){
        return typeof(input)=='object'&&(input instanceof Array);
      }
    </script>
    
        2
  •  0
  •   Matchu    14 年前
    element.constructor == Array
    
        3
  •  0
  •   dreadwail    14 年前

    不是最干净的但是…

    function isArray(obj) {
        return obj.constructor == Array;
    }