按照key排序,应该是10个元素,为什么
如图所示,实际数组长度是17,但是调试器里访问snapshot.val()[2]=undefined
绑定数组到列表里,前台显示也是17个元素,

解决方案 »

  1.   

    以你赋值的最大下标+1作为length属性,其他没赋值的undefinedvar arr=[];
    arr[20]=1;
    alert(arr.length)
      

  2.   

    数组的length并非数组实际的元素个数,而是数组最大下标加1的值
      

  3.   

    没有赋值是undefined,那为啥列表里又有数据呢?就是17个元素全部有值
      

  4.   

    调试器的watch里不现实undefinde的元素?
      

  5.   

    因为有空余的位置,不是值是undefined,而是没有值var arr = [1,,2];
    console.log(arr);//看下arr就知道了
      

  6.   

    中间没值的会用undefined记录