具有不同输入值的 for 循环

A for loop with different input values

本文关键字:for 循环 输入      更新时间:2023-09-26

我需要像下面这样写一个 for 循环,即:

var array = [1,2,3,4,5,6,7];
var startday=5
var endday=1
 for(var k=startday;k>endday;k++){
   }

我的输出是这样的:5,6,7,1

我已经尝试了代码,但值像 5,6,7,8,9.......

假设这是迭代具有变量开始和结束的数组。

  1. array获取起始索引
  2. array获取结束索引
  3. 如果结束小于
  4. 开始,请调整结束,在这种情况下添加array.length
  5. 循环访问新的开始和结束索引
  6. 调整索引,因为它可以使用余数运算符在array.length之外运行。

var array = [1, 2, 3, 4, 5, 6, 7],
    startday = 5,
    endday = 1,
    k,
    start = array.indexOf(startday),
    end = array.indexOf(endday);
if (end < start) {
    end += array.length;
}
for (var k = start; k <= end; k++ ){
    document.write(array[k % array.length] + '<br>');
}

您应该使用--k作为for的第三个参数(它会导致变量k递减)

var array = [1,2,3,4,5,6,7];
var startday=5;
var endday=1
for (var k=startday; k >= endday; --k)
{
}
在你的

循环中,打印这个 'array[k]' 和 'if(k> array.length){ print 1 and break}'

它必须是for循环吗?这个怎么样:

var array = [1,2,3,4,5,6,7];
var startday = 5;
var endday = 1;
var k = startday;
while (k > endday){
    // print array[k-1]
    if (k == array.length){
        k = 1;
    } else {
        k++;
    }
}
while (k <= endday){
    // print array[k-1]
    k++;
}

我假设开始日和结束日是指数组索引。

试试这个

<script src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
var array = [11,22,33,44,55,66,77];
var startday=55;
var endday=11;
var lastEl = array[array.length-1];
var index_startday =  $.inArray( startday, array );
 for(var count=index_startday; count <= array.length;count++){
    alert(array[count]);
    if(array[count] == endday){
        break;
    }
    if(array[count] == lastEl){
      count = -1;
      continue;
    }
   }
</script>