循环向两个方向

ant*_*paw 26 javascript php loops for-loop

嘿,我正在寻找这个问题的干净解决方案:

替代文字

i = 0在第二个循环步骤中开始循环i = 1,然后i = -1然后等i = 2.

如何用for干净的方式编程这个?

fbs*_*stj 27

f(0); //do stuff with 0

for(var i = 1; i<len; i++) //where len = positive boundary
{
    f(i);  //do stuff with i
    f(-i); //do stuff with -i
}
Run Code Online (Sandbox Code Playgroud)

应该做你想做的


ken*_*ytm 11

如果您不介意内循环出现3次:

f(0);
for (var i = 1; i <= 3; ++ i) {
  f(i);
  f(-i);
}
Run Code Online (Sandbox Code Playgroud)

2次if:

for (var i = 0; i <= 3; ++ i) {
  f(i);
  if (i > 0)
     f(-i);
}
Run Code Online (Sandbox Code Playgroud)

单次,但表达丑陋:

for (var j = 1; j <= 7; ++ j) {
   var i = j / 2;
   if (j % 2) i = -i;

   f(i);
}
Run Code Online (Sandbox Code Playgroud)


Jus*_* L. 5

每个循环,您似乎都在添加n*(-1)^(n+1),其中n是您当前正在采取的步骤,从1开始,从i = 0开始.

initialize i = 0
n=0, i+=0*(-1)^1   # 0
n=1, i+=1*(-1)^2   # 1
n=2, i+=2*(-1)^3   # -1
n=3, i+=3*(-1)^4   # 2
Run Code Online (Sandbox Code Playgroud)

等等

从这里开始,它取决于您希望写入的语言.从n = 0您到达的任何地方迭代.

编辑这是一个糟糕的答案.但有趣= D

(我添加了最后一点,因为一旦我进行了编辑,有人向我投了=()