我正在尝试为两个整数之间的“接近”行为提出一个算法。基本上,给定两个整数,a
和 b
,我希望 a
“接近”b
,即使 b
小于 a
。我认为这看起来应该是循环增量函数的交换:
for (var i = a; approachCond(i, a, b); approachDir(i,a, b)) {
// some fn(a, b);
}
在哪里
approachCond(i, a, b) {
return a < b ? i < b : i > b;
}
和
approachDir(i, a, b) {
return a < b ? i++ : i--
}
但是,当我尝试执行此操作时,浏览器会卡住 (Chrome)。有谁知道如何动态改变循环的方向?
最佳答案
我认为如果只使用 while
循环,阅读起来会更清楚一些:
'use strict';
let a = 12, b = 6;
let i = a;
while (i !== b) {
console.log(i);
i += a < b ? 1 : -1;
}
我什至离开了可爱的三元组,因为现在人们似乎非常反对 if 语句。
关于javascript - 动态改变循环方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31710214/