2016-01-07 3 views
0

Как петля действуйте следующим образом:интервал Javascript зацикливание

У меня есть переменные, как это:

var array = [1,2,3,4,5,6,7,8,9,10] 
var maximunNumbers = 6 
var eachRound = 2 

Я хочу напечатать цифры как:

In round 1 : print array[0] and array[1] 
In round 2 : print array[2] and array[3] 
In round 3 : print array[4] and array[5] 
In round 4 : print array[0] and array[1] //numbers repeat themselves from here 
In round 5 : print array[2] and array[3] 
and so on ... 
+0

Что я до сих пор не имеет смысла, и именно поэтому я размещаю здесь вопрос. @nikhil – Sanidhay

+0

Сколько раундов? – nikhil

ответ

1
var array = [1,2,3,4,5,6,7,8,9,10]; 
var maximunNumbers = 6; 
var eachRound = 2; 


var i, k; 
for(i = 0; i < 10; ++i) { 
    var result = 'In round ' + i + ' : '; 
    for(k = 0; k < eachRound; ++k) { 
     var array_index = ((i * eachRound) + k) % maximunNumbers; 
     result += ' array[' + array_index + '] = ' + array[array_index]; 
    } 
    console.log(result); 
} 

В первом раунде 0: Array [0] = 1 массив [1] = 2

В раунде 1: массив [2] = 3 массива [3] = 4

В раунд 2: массив [4] = 5 массив [5] = 6

В первом раунде 3: массив [0] = 1 массива [1] = 2

В первом раунде 4: массив [2] = 3 массива [3] = 4

В 5-м раунде: массив [4] = 5 массив [5] = 6

В первом раунде 6: Array [0] = 1 массив [1] = 2

В третьем раунде 7: массив [2 ] = 3 массива [3] = 4

В первом раунде 8: массив [4] = 5 массив [5] = 6

В раунде 9: массив [0] = 1 массив [1] = 2

https://jsfiddle.net/shctc5eu/

0

Один из способов для записи внутреннего счетчика, который выполняется на 2.

var array = [1,2,3,4,5,6,7,8,9,10]; 
var maximunNumbers = 6; 
var eachRound = 2; 
var intCount = 0; 
for (i=0;i<10;i++){ 
    print array[intCount] and array[intCount+1] 
    intCount=intCount+2 
} 

Это будет печатать ваш массив [0] и массив [1] в первый раз. Во второй раз intCount будет равен 2. Таким образом, он будет печатать массив [2] и массив [3].

Просто будьте осторожны с тем, насколько высока цифра «i». Написанный таким образом, intCount выйдет за рамки вас.

+0

, но я просто хочу достигнуть массива [5] и вернуться к массиву [0] – Sanidhay

+0

Итак, «i» останавливается на 5 вместо 10. Когда вы запустите цикл во второй раз, убедитесь, что вы перезапустили «intCount» «вместе с объявлением« i »в цикле for. – durbnpoisn

Смежные вопросы