Javascript 向前循环,然后从第一个位置-1继续

Javascript 向前循环,然后从第一个位置-1继续,javascript,Javascript,我正在尝试向所有玩家分发卡片。还有8个座位。交易可以从任何位置开始。下面的示例显示起始位置为3,这意味着将按照3-4-5-6-7-8-1-2的顺序处理卡。如果交易在7点开始,那么它将是7-8-1-2-3-4-5-6等等。 我当前的循环在8点结束。我不知道如何继续 这是我的密码: var a = 3; //this is the variable starting position for (i = a; i < 9; i++) { var next

我正在尝试向所有玩家分发卡片。还有8个座位。交易可以从任何位置开始。下面的示例显示起始位置为3,这意味着将按照3-4-5-6-7-8-1-2的顺序处理卡。如果交易在7点开始,那么它将是7-8-1-2-3-4-5-6等等。 我当前的循环在8点结束。我不知道如何继续

这是我的密码:

 var a = 3; //this is the variable starting position
        for (i = a; i < 9; i++) {
            var nextavail = $('#seat' + i).find('.back');
            if (nextavail.length > 0) {
                oPosition.seat = 'seat' + i;
                oPosition.cardid = $(nextavail[0]).data('card');
                break;
            }
var a=3//这是可变的起始位置
对于(i=a;i<9;i++){
var nextavail=$('#seat'+i).find('.back');
如果(nextavail.length>0){
oPosition.seat='seat'+i;
oPosition.cardd=$(nextavail[0]).data('card');
打破
}

如果我尝试这样做:
for(I=a;I<9;I++,I==8?7:I=1)
这将把我带入一个无限循环。有什么想法吗?

循环以小于9的最大值I结束。如果你想要I 移动3-4-5-6-7-8-9-1-2

 for (j = a-1; j < 8+a ; j++){
   i = j%9 + 1 ;
 // putting the rest of the code of the for loop inside 

 var nextavail = $('#seat' + i).find('.back');
        if (nextavail.length > 0) {
            oPosition.seat = 'seat' + i;
            oPosition.cardid = $(nextavail[0]).data('card');
            break;
        } 


}
(j=a-1;j<8+a;j++)的
{
i=j%9+1;
//将for循环的其余代码放入
var nextavail=$('#seat'+i).find('.back');
如果(nextavail.length>0){
oPosition.seat='seat'+i;
oPosition.cardd=$(nextavail[0]).data('card');
打破
} 
}
var start=3;
var max=9;
对于(变量i=开始;i<最大值+开始;i++){
变量数=(i>max)?i%max:i;
控制台日志(编号);
}
var a=3;//这是变量的起始位置
var seats=8;//座位数
对于(变量i=0;i0){
oPosition.seat='seat'+当前位置;
oPosition.cardd=$(nextavail[0]).data('card');
打破
}
}

尝试使用模运算符

这种方法是对“模”的一种很好的使用(
%
)操作员。
nextavail=nextavail%9
将循环您返回到0。根据需要添加一个。您在for循环中使i=1,它将继续forever@theGleep你能给我举个例子吗?我可能是
var a = 3; //this is the variable starting position
var seats = 8; // seats count
for (var i = 0; i < seats; i++) {
  var currentPosition = (a + i) === seats ? seats : (a + i) % seats;
  var nextavail = $('#seat' + currentPosition).find('.back');
  if (nextavail.length > 0) {
    oPosition.seat = 'seat' + currentPosition;
    oPosition.cardid = $(nextavail[0]).data('card');
    break;
  }
}