【发布时间】:2018-11-24 16:14:31
【问题描述】:
我正在尝试构建一个包含 12 个位置的数组的循环,用 5 个项目包装并在此间隔之后插入另一个代码,但由于某种原因,循环最多只能达到 10 个。 为什么只有当数组有 11 个或 12 个位置时,循环才会在第十个位置停止? 有人可以解释一下原因吗?
let x = [0,1,2,3,4,5,6,7,8,9,10,11];
x.map(_=> {
console.log("<div>");
x.splice(0,5).map((y,k)=>
console.log('item: ' + y)
)
console.log("</div>");
console.log('interval of 5 text');
});
x = [0,1,2,3,4,5,6,7,8,9,10,11];
for(i=0; i < x.length; i++){
let x2 = x.splice(0,5);
console.log("<div>");
for(j=0; j < x2.length; j++){
console.log('item: ' + x2[j]);
}
console.log("</div>");
console.log('interval of 5');
}
【问题讨论】:
-
在循环中更改循环中的数组绝不是一个好主意
-
如果理论上我可以控制它,为什么不呢?无论如何,我只是想了解为什么只有当数组有 11 个或 12 个位置时,循环才会在第十个位置停止?
-
因为你在循环中改变了数组
标签: javascript arrays for-loop foreach array.prototype.map