ArchibaldIron, просто правильно указать параметры цикла. Пусть N - это количество элементов массива, а L - это размер элементов которые должны подвергнуты изменению, P - это количество элементов которые нужно пропускать, I - итератор цикла. Если брать срез массива, начало которого будет задаваться значением I, а размер L, при этом приращение итератора будет равно I += L + P, то вы получите желаемое. В вашем случае L = P, следовательно приращение итератора I += L * 2.
for(I=0; I<N; I+=L*2) [].slice(I, L)
Этот пример хорошо поясняет суть - берем отрезок и с нужным интервалом продвигаясь по нему берем его необходимую часть. Но с этим примером нужно: а) получить массив элементов для обхода их в цикле, б) получать срез элементов и их обходить во вложенном цикле. Но принцип подсказывает, что можно обойтись одним циклом, опять таки обойтись только управлением итератора. Предлагается немного подумать над подсказками:
1) Знаем размер N
2) Знаем длину L
3) От деления N / L можно брать только целые значения
4) Целое от деления будет иметь четные и нечетные значения
5) Четные и нечетные значения, и L
Можно ли с этими вводными решить вашу задачу используя только один цикл?