如何在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
相关产品推荐
相关产品推荐

