You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在for循环执行过程中动态修改循环次数

问题原因

你当前的for x in 0..<loopArray.count写法,Swift会在循环启动前一次性计算出范围的上下边界,也就是初始的loopArray.count值(此处为5)。后续数组追加元素后,这个预计算的范围不会重新更新,所以循环只会执行5次。

解决方案

改用while循环,每次迭代都会重新检查数组的count值,从而实现动态响应数组长度变化的效果:

var loopArray: [Int] = [1,2,3,4,5]
var x = 0
while x < loopArray.count {
    print(x)
    if x == 4 {
        loopArray.append(6)
    }
    x += 1
}

这段代码会依次打印0、1、2、3、4、5——当x=4时数组追加元素,count变为6,x递增到5时,5<6的条件依然成立,会进入循环打印5,之后x变为6,条件不满足,循环终止。

注意事项

实际项目中如果追加元素的条件不确定,要额外注意避免无限循环:比如如果每次循环都会触发元素追加,且没有其他终止逻辑,循环会一直执行下去,需要根据业务场景添加合适的终止判断。

内容的提问来源于stack exchange,提问作者quoteunquote

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:40:24