也许我只是盯着这个屏幕太久了,但是我似乎无法弄清楚为什么这个for循环挂起了吗?
var not = '3,7';
var nots = not.split(',');
alert(nots.length);
for (var i = 0; i <= nots.length; i++) {
nots[i] = parseInt(nots[i], 10);
}
document.write(nots);
谢谢你的帮助。
干杯
查理
最佳答案
在循环中,您正在测试i <= nots.length
。您应该测试i < nots.length
。
当长度为5时,将在索引0、1、2、3、4处放置元素。因此,当i
到达5时,将不再有元素。但是然后您设置nots[i]
(元素5)并将数组扩展一。因此,每次在i
等于nots.length
时执行循环时,都将数组扩展一,因此循环“仅再执行一次”只会进一步扩展数组。