javascript - 为成分编写 while 循环/for 循环。

标签 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:

这是我的代码:

var i = 0;

while (i < ingredients.length) {
  i++
  console.log(ingredients[i]);
} 

结果:

milk
flour
sugar
baking soda
baking powder
chocolate chips
bananas
undefined

第二个问题:

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

我的代码:

for (i = 0; i < ingredients.length; i++) {
  console.log(ingredients[i]);
}

这会打印出所需的所有内容。

为什么 while 循环不打印“eggs”并在其末尾打印“undefined”——而 for 循环则没问题?

他们不应该打印出同样的东西吗?

谢谢。

最佳答案

您在访问值之前递增i,因此您从 1 而不是 0 开始,并以最后一个数组元素之上的 1 结束,这将返回 未定义

所以你需要像这样运行它:

var i = 0;

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

关于javascript - 为成分编写 while 循环/for 循环。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51776331/

相关文章:

javascript cookie 不设置过期日期

javascript - for 循环 javascript 初学者

windows - 具有多行主体的循环

java - 使用 for 循环打印到 java GUI

Python Black Jack 游戏变种

c - 为什么我的 while 循环不在 C 中重复?

javascript - 当具有相同类名的多个元素添加了类时发出警报

javascript - 如何将数据传递给 http 创建服务器回调?

javascript - 在 Symfony 1.4 中自动压缩 Javascript 和 CSS

java - BufferedReader 无限循环 - Java