双向循环

2022-08-30 16:31:28

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

alt text

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

如何以干净的方式用循环对此进行编程?for


答案 1
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
}

应该做你想做的事


答案 2

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

f(0);
for (var i = 1; i <= 3; ++ i) {
  f(i);
  f(-i);
}

2 次,其中 :if

for (var i = 0; i <= 3; ++ i) {
  f(i);
  if (i > 0)
     f(-i);
}

单次但表情丑陋:

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

   f(i);
}