这个数组在chrome调试器上是否有问题?

时间:2016-09-21 18:25:03

标签: javascript

Screenshot of chrome debugger tool, where my object has key 3707 and the value is an array of 3 items... however, it was showing 3708 items in the array

这是chrome调试工具的屏幕截图,其中我的对象有3707键,值是3个项目的数组...但是,它在数组中显示了3708个项目

2 个答案:

答案 0 :(得分:0)

当您在超出数组初始长度的索引处插入元素时,它将展开并在其间插入undefined个元素。

此示例可能有助于您了解正在发生的事情:

var myArray = [];

console.log(myArray); // []
console.log('Length: ' + myArray.length); // 0

myArray[2] = 'foo';

console.log(myArray); // [undefined, undefined, 'foo']
console.log('Length: ' + myArray.length); // 3

如果你想检查数组,请尝试

console.log(JSON.stringify(selectedParts));

你会看到[null,null...,['foo','bar']]

答案 1 :(得分:-1)

在javascript和许多其他语言中,数组是基于0的(第一个对象是位置0)。这意味着最后一个索引将是length - 1