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

如何在JavaScript中让For循环中途停在中间值并从此处反向遍历

解决遍历到中间值后反向回到0的问题

嘿,这个需求很清晰,我来帮你调整代码!

先理清楚原代码的逻辑:它原本是从数组开头遍历到最后一个元素(索引19,对应数值20),然后切换方向回到开头。现在你要改成遍历到中间值(比如10)就反向,直到回到0停止。

修改步骤:

  • 首先确定你要停留的中间值对应的数组索引:你的数组里数值10对应的索引是9(因为数组索引从0开始计数)。
  • 把原代码中判断“到达数组末尾”的条件,替换成“到达目标索引”的判断。

修改后的完整代码:

var myArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
// 如果你想灵活切换中间值,可以用indexOf获取索引
var targetValue = 10;
var targetIndex = myArray.indexOf(targetValue);

for (var i = 0, di = 1; i >= 0; i += di) {
    // 当遍历到目标索引时,切换方向为反向
    if (i === targetIndex) {
        di = -1;
    }
    document.writeln(myArray[i]);
}

补充说明:

如果你已经明确知道目标索引(比如固定要停在数值10,也就是索引9),也可以直接把判断条件写成if (i === 9),这样不需要额外的indexOf操作,代码更简洁:

var myArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];

for (var i = 0, di = 1; i >= 0; i += di) {
    if (i === 9) { // 直接写目标索引
        di = -1;
    }
    document.writeln(myArray[i]);
}

这样修改后,代码会先从1遍历到10,然后从9反向遍历回1,完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:26:14