我正在尝试填充数组:
var array2 = ["a", "b", "c"];
带有一些随机数/值,以便该值将每个原始值分开。但是,使用这样的 for 循环:
for (var am = 1; am < array2.length; am+2) {
array2.splice(am, 0, undefined);
}
导致我的浏览器冻结,因为在每个拼接上,array2 的长度都会发生变化并导致无限循环,所以我尝试了这种方法:
var l = array2.length;
for(var i = 1; i < l; i+2) {
array2.splice(i, 0, undefined);
}
现在我不知道发生了什么。估计l
又变异了。
我必须提前i
两个,因为第一个拼接后的 array2 变为:
["a", undefined, "b", "c"];
但是,由于i = 3
我已经设置了表达式i < l
,唯一的解释是它l
再次发生了变化。
欢迎任何解释。我希望代码继续执行的最终结果是:
array2 = ["a", undefined, "b", undefined, "c"];