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

JavaScript for循环仅执行一次:使用数组元素作为循环条件的问题

问题原因分析

你的问题核心在于循环条件中的arr[i]会随着i的递增而动态变化,并非固定的初始值3。

初始时i=0,arr[0]=3,满足0 < 3,执行循环体后newArr推入一个"M",随后i自增为1。

接下来检查循环条件时,判断的是1 < arr[1]——你只确认了arr[0]的值为3,但arr[1]的值大概率是undefined(转为数字是NaN,1 < NaN结果为false),或者arr[1]的值≤1,导致条件不成立,循环直接终止,所以只执行了一次。

你在循环内打印arr[i]只看到3,是因为循环体仅执行了一次(此时i仍为0),没机会打印i=1时的arr[i]。

解决办法

把需要循环的次数先存入一个固定变量,避免条件随i变化:

const loopCount = arr[0];
for (let i = 0; i < loopCount; i++) {
    newArr.push("M");
}

这样循环条件中的loopCount是固定的3,不会随i的递增改变,就能正常执行3次循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:10:29