javascript中数组索引为负值,数组长度为 结束索引-开始索引(区间长度)

    var arr = [];
    arr[-1] = -11;
    arr[9] = 99;
    
    console.log(arr.length);//长度为10    ???
    
    console.log(arr[2]);//undefined
    for(var k in arr){
        if (arr.hasOwnProperty(k)){
            console.log(arr[k]);
        }
    }//99
     //-11
阅读 6.1k
2 个回答

数组本身为对象,长度从下标0算起。你给arr[-1]赋值,这个-1属性不算在数组长度之内,但也属于数组的属性,可以用in枚举

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题