问答详情
源自:5-2 [JavaScript]二维数组、稀疏数组

为什么99 in arr1可以返回true,而98 in arr1 返回的事flase

如题,为什么99 in arr1可以返回true,而98 in arr1 返回的事flase

提问者:MissHoya 2015-03-25 14:35

个回答

  • Bosn
    2015-03-26 11:44:13
    已采纳

    这就是稀疏数组啊,例如:

    var arr = [];

    arr[99] = 1;

    99 in arr; // true

    98 in arr; // false


    虽然通过arr[99]使得数组长度变为100,但JavaScript并不会自动创建从0 ~ 98的其它Key。

    这就是稀疏数组。

  • 向死而生3491500
    2016-10-26 16:12:20

    var arr=[1];
                arr[99]=100;
                for(var i=0;i<arr.length;i++){
                    document.write(arr[i]);
                }


    输出结果:1 undefine。。。100;


    中间虽然没赋值,但系统默认都是undefine,所以说数组索引下的98下没有值,返回false

  • Down_Up
    2016-04-26 12:31:16

    因为下标为99的位置有值,而下标为98的位置没有值!

  • 王国
    2015-03-25 15:08:31

    ewfesgsrdgdrtt

  • 王国
    2015-03-25 15:08:03

    asdfsdrgdsrg