答案 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