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

嵌套For循环异常:内层循环无法逐次计数问题求助

问题修复方案

你的问题出在内层的小时计数循环——每次外层循环执行时,这个内层循环会一次性跑完所有次数,直接把water变量设成了raceTime的最终值(比如你看到的6),所以每次输出都是最后一个小时数。

根本不需要嵌套循环,直接用一个单独的变量跟踪小时数就行。修改后的代码如下:

const waterRec = waterStorageRec(totalWaterToDrink);

//TODO now need to plan out refill strategy based on SAGS and water drank each time
//TODO for water refill strategy, need to turn it into function or something that only gets called if water to consumer exceeds water stored at start of race

console.log(`-----WATER REFILL STRATEGY-----`);

let waterHourFinal = waterPerHour(raceInfo.tempHigh);
let waterLeftPerHour = [];
// 初始化小时计数变量
let currentHour = 1;

// 外层循环处理水量递减
for (let j = totalWaterToDrink; j > 0; j -= waterHourFinal) {
  if (j - waterHourFinal > 0) {
    console.log(`HOUR ${currentHour}:`);
    console.log(`你将在本小时开始时拥有 ${j} 盎司水。`);
    console.log(`本小时需要饮用 ${waterHourFinal} 盎司水。`);
    console.log(`本小时结束后剩余 ${j - waterHourFinal} 盎司水。`);
    console.log(`---`);
  }
  waterLeftPerHour[j] = j - waterHourFinal;
  // 每完成一次循环,小时数加1
  currentHour++;
}

改动说明

  • 删除了冗余的内层小时循环,改用currentHour变量从1开始计数
  • 每次外层循环结束后,currentHour自增1,确保小时数逐次递增
  • 将输出文本改为中文,更易理解

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 00:54:31