JavaScript中使用do ... while循环的简短教程

作者 : IT 大叔 本文共877个字,预计阅读时间需要3分钟 发布时间: 2020-10-15

do ... while循环到底是什么?

根据MDN Web文档,do ... while语句

...创建一个循环,该循环执行指定的语句,直到测试条件的值为假。执行该语句后评估条件,导致指定的语句至少执行一次。

让我们看一下语法

do {
  //statement;
} while (condition);

与一些实际逻辑一起使用:

let i = 0;
do {
 i = i + 1;
} while (i < 5);

相对于常规的while循环,为什么使用这种方法还是有用的还是显而易见的,但要记住的关键是:

在评估while条件 之前,循环中的语句逻辑将至少运行一次

这是一个非常特定的用例,但是当这些特定用例出现时,它可以使您的生活大大简化。

让我们使用带有更多上下文的示例,这将使您更清楚地知道优点是什么。


假设您得到了一个长度为n的数组,作为解决问题的一部分,您需要以“圆”形式遍历该数组,然后返回到开始的索引。您可能会在for循环中从数组的每个索引重复此循环。

而不是试图找出如何在指针内操作,以适应嵌套同时循环,我们可以使用一个做...而循环,而不是!

let n = arr.length;
for (let i = 0; i < n; i++) {
  // Where in the array we'll begin
  let traverseIndex = i;

  do {
    /*
    (other algorithm logic here)
    */
    if (traverseIndex === n - 1) {
      traverseIndex = 0;
    } else {
      traverseIndex++;
    }
  } while (traverseIndex !== i);
}

最后一行可能有点令人困惑-如果我们告诉循环一旦满足该条件就停止循环,那么在将traverseIndex设置为i之后如何发生循环?

因为多亏了do ... while,所以在检查该条件之前,我们只运行了一次实际的循环逻辑。这意味着我们可以从起始索引开始,对数组中的索引进行逻辑处理,然后对其进行递增(如果到达末尾,则将其设置为数组的开头),然后从本质上开始循环。

这使我们可以在第ith个元素上运行逻辑,遍历数组,然后在再次到达第ith个元素时立即停止!

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » JavaScript中使用do ... while循环的简短教程

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论