javascript - 为什么我必须制作一个单独的变量来纠正这个循环? (JavaScript 基础知识)

标签 javascript arrays loops counter

我目前正在学习 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/

相关文章:

javascript - @property of an object, tslint 给出错误 - no-redundant-jsdoc

java - Java中按特定字符分割字符串,返回一条消息需要分割的次数

在c中将内容从一个数组复制到另一个数组

vba - 尽管 x>y,Do While 循环并未退出其 x<y 循环

java - 虽然不是(或同等)java

javascript - 无法使用 oauth.io 获取电子邮件地址、位置和值

javascript - 带 Angular Highcharts ,删除 xAxis 线

javascript - 创建新数组和清除长度之间的区别

javascript - 如何将对象中的每个值写入文本文件中的每一行

javascript - 为什么这个变量在函数中未定义?