假设您运行以下代码:
var a = [];
a[4] = true;
然后你的数组看起来像[undefined, undefined, undefined, undefined, true]
但是如果你运行这段代码:
var a = [];
a.splice(4, 0, true);
你会得到[true]
而不是,好吧,[undefined, undefined, undefined, undefined, true]
使用 splice 时,如果索引超过数组的当前长度,它只会在最后一个元素处停止。
为什么这是拼接的预期行为?