3.6 KiB
Raw Blame History

id, title, challengeType, videoUrl, localeTitle
id title challengeType videoUrl localeTitle
5a2efd662fb457916e1fe604 Iterate with JavaScript Do...While Loops 1 使用JavaScript迭代...循环

Description

您可以使用循环多次运行相同的代码。你将学习的下一个类型的循环称为“ do...while ”循环,因为它首先将“ do ”循环内部代码的一次传递,无论如何,然后它运行“ while ”指定条件为真一旦这种情况不再真实就停止。我们来看一个例子。
var ourArray = [];
var i = 0;
做{
ourArray.push;
我++;
} whilei <5;
这与任何其他类型的循环一样正常,结果数组看起来像[0, 1, 2, 3, 4] 。然而,什么使得do...while与其他循环不同但是当条件在第一次检查时失败时它的行为如何。让我们看看这个在行动。这是一个常规的while循环只要i < 5 ,它就会在循环中运行代码。
var ourArray = [];
var i = 5;
i <5{
ourArray.push;
我++;
}
请注意,我们将i的值初始化为5.当我们执行下一行时,我们注意到i不小于5.所以我们不执行循环内的代码。结果是ourArray最终没有添加任何内容,因此当上面示例中的所有代码完成运行时,它仍然看起来像这个[] 。现在,看一下do...while循环。
var ourArray = [];
var i = 5;
做{
ourArray.push;
我++;
} whilei <5;
在这种情况下,我们将i的值初始化为5就像我们使用while循环一样。当我们到达下一行时没有检查i的值,所以我们转到花括号内的代码并执行它。我们将在数组中添加一个元素并在进行条件检查之前递增i 。然后,当我们检查i < 5看到i现在是6这不符合条件检查。所以我们退出循环并完成。在上面的例子的末尾 ourArray的值是[5] 。本质上, do...while循环确保循环内的代码至少运行一次。让我们尝试通过将值推送到数组来实现do...while循环。

Instructions

将代码中的while循环更改为do...while循环以便循环将数字10推送到myArray ,当代码完成运行时, i将等于11

Tests

tests:
  - text: 你应该使用<code>do...while</code>循环。
    testString: 'assert(code.match(/do/g), "You should be using a <code>do...while</code> loop for this.");'
  - text: '<code>myArray</code>应该等于<code>[10]</code> 。'
    testString: 'assert.deepEqual(myArray, [10], "<code>myArray</code> should equal <code>[10]</code>.");'
  - text: <code>i</code>应该等于<code>11</code>
    testString: 'assert.deepEqual(i, 11, "<code>i</code> should equal <code>11</code>");'

Challenge Seed

// Setup
var myArray = [];
var i = 10;

// Only change code below this line.

while (i < 5) {
  myArray.push(i);
  i++;
}

After Test

console.info('after the test');

Solution

// solution required