写一个while循环/ for循环的成分.

bil*_*een 0 javascript for-loop while-loop

这是我正在研究的教科书.

var ingredients = ["eggs", "milk", "flour", "sugar", "baking soda", "baking powder", "chocolate chips", "bananas"];

// Write a while loop that prints out the contents of ingredients:
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

var i = 0;

while (i < ingredients.length) {
  i++
  console.log(ingredients[i]);
} 
Run Code Online (Sandbox Code Playgroud)

出来的是什么:

milk
flour
sugar
baking soda
baking powder
chocolate chips
bananas
undefined
Run Code Online (Sandbox Code Playgroud)

第二个问题:

写一个打印出成分内容的for循环:

我的代码:

for (i = 0; i < ingredients.length; i++) {
  console.log(ingredients[i]);
}
Run Code Online (Sandbox Code Playgroud)

这打印出所需的一切.

为什么while循环不打印出"eggs"并在其末尾打印"undefined" - 而for循环很好?

是不是他们都打算打印出同样的东西?

谢谢.

Seb*_*tel 6

i 访问值之前递增,因此从1开始而不是0开始,并以最后一个数组元素之上的结尾返回undefined.

所以你需要运行它:

var i = 0;

while (i < ingredients.length) {
  console.log(ingredients[i]);
  i++; //Notice: After accessing the element
} 
Run Code Online (Sandbox Code Playgroud)