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

如何修改给定JavaScript代码实现从10到0倒序打印?

实现从10到0倒序延迟打印的修改方案

以下是几种可行的修改方式,你可以根据需求选择:

方案1:调整循环参数与延迟计算

直接修改循环的起始值、终止条件和步长,同时调整延迟时间来控制打印顺序:

效果1:立刻打印10,之后每秒打印前一个数字(总耗时10秒)

for (let i = 10; i >= 0; i--) {
  // 数字越大,延迟越短,10无延迟立刻打印,0在10秒后打印
  setTimeout(() => { console.log(i) }, (10 - i) * 1000)
}

效果2:1秒后打印10,之后每秒打印前一个数字(总耗时11秒)

如果希望所有数字都有延迟,且间隔1秒:

for (let i = 10; i >= 0; i--) {
  setTimeout(() => { console.log(i) }, (10 - i + 1) * 1000)
}

方案2:数组遍历实现

先创建包含10到0的数组,再通过遍历设置延迟:

// 生成10到0的数组
const nums = Array.from({ length: 11 }, (_, idx) => 10 - idx);
nums.forEach((num, index) => {
  // 索引+1保证第一个元素(10)延迟1秒打印
  setTimeout(() => { console.log(num) }, (index + 1) * 1000);
});

这个方案的效果和方案1的效果2一致,1秒后开始打印10,之后每秒输出下一个数字。

方案3:递归实现

用递归的方式逐个打印数字,每次递归设置1秒延迟:

function printFrom10To0(current) {
  console.log(current);
  if (current > 0) {
    setTimeout(() => printFrom10To0(current - 1), 1000);
  }
}
// 启动递归
printFrom10To0(10);

这个方案会立刻打印10,之后每秒打印前一个数字,直到0,总耗时10秒。

内容的提问来源于stack exchange,提问作者UI SMART SOUMEN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:15:51