js无法获取数组长度

通过console.log(value instanceof Array) 去判断,打印结果为true,但是在value.length获取长度属性时还是报错。通过网上查资料解决了我的问题。

出现问题原因

有的时候我们需要设置的key不是数字索引,而是非数字索引,那么如何获取长度呢。我们可以把Array看成是特殊的Object类型。有两种方式可以得到Object类型的长度:

我的数据,即为上述情况。

  var checkLength=this.getPropertyCount(value);

 getPropertyCount(o){  
              var n, count = 0;  
              for(n in o){  
                 if(o.hasOwnProperty(n)){  
                    count++;  
                 }  
              }  
              return count;  
           }

完美解决。

你可能感兴趣的:(Java,js,数组长度)