javascript - 动态改变循环方向

标签 javascript loops

我正在尝试为两个整数之间的“接近”行为提出一个算法。基本上,给定两个整数,ab,我希望 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/

相关文章:

javascript - 通过 JavaScript 到新页面的超链接不起作用

javascript - jQuery AJAX 不加载带有哈希值的 URL

python - 我的 Python 代码没有写入我的文件。为什么?

javascript - 将迭代器索引获取到 onmousedown 函数中

ruby - 使用 Mechanize 点击谷歌页面

loops - 创建循环以打开和导出报告

javascript - GraphQL:错误:必须提供文档

javascript - CSS:水平滚动菜单的过渡不平滑

javascript - 使用 JQuery 迭代样式数据

java - 如何编写一个简单的 Java 程序来找到两个数之间的最大公约数?