我目前正在学习 Javascript,所以我会尽力选择单词。
在下面的代码中。 我希望变量“allFoods”显示所有不同的变化。
虽然,我发现了一个漏洞,但我更喜欢理解逻辑和为什么做事而不是死记硬背代码。
>1 var fruits = ["apples", "pears"];
>2 var junk = ["twinkies", "pizza"];
>3 var allFoods = [];
for (var i = 0; i < fruits.length; i++) {
for (var j = 0; j < junk.length; j++) {
allFoods = fruits[i] + junk[i];
alert(allFoods);
相反,变量“allFoods”返回所有不同的变化.. appleswinkies, applespizza, pearstwinkies, pearspizza
它返回这个... applestwinkies,applestwinkies,pearspizza,梨,披萨
我发现的漏洞是...
>1 var fruits = ["apples", "pears"];
>2 var junk = ["twinkies", "pizza"];
>3 var allFoods = [];
>4 var b = 0;
>5 for (var i = 0; i < fruits.length; i++) {
>6 for (var j = 0; j < junk.length; j++) {
>7 allFoods[b] = fruits[i] + junk[i];
b++;
>8 alert(allFoods);
虽然它正在工作。我不知道发生了什么,也不知道它为什么起作用!
最佳答案
你在这行有一个错误:
allFoods = fruits[i] + junk[i];
将其更改为:
allFoods = fruits[i] + junk[j];
^ use index j here
关于javascript - 为什么我必须制作一个单独的变量来纠正这个循环? (JavaScript 基础知识),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30387914/