这是我正在学习的一本教科书。
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/