Javascript JS:如何从中生成for循环? 我必须创建一个20列的条形图。最右边的条形图每秒都会更新一个随机数,该随机数给出了条形图的高度。一秒钟后,值被转移到左边的相邻值,依此类推。为了将数组中的值连接到css,我创建了这段代码。左边(条形图)通过querySelectorAll连接到div,然后用[i]索引,右边我从数组中获取相应的值。因为我需要做20个小节,所以使用for循环是有意义的,但我真的不知道如何创建它。。。有什么想法吗

Javascript JS:如何从中生成for循环? 我必须创建一个20列的条形图。最右边的条形图每秒都会更新一个随机数,该随机数给出了条形图的高度。一秒钟后,值被转移到左边的相邻值,依此类推。为了将数组中的值连接到css,我创建了这段代码。左边(条形图)通过querySelectorAll连接到div,然后用[i]索引,右边我从数组中获取相应的值。因为我需要做20个小节,所以使用for循环是有意义的,但我真的不知道如何创建它。。。有什么想法吗,javascript,arrays,for-loop,Javascript,Arrays,For Loop,如何将其缩短为一个循环 barchart[4].style.height = number + "%"; barchart[3].style.height = arr[4] + "%"; barchart[2].style.height = arr[3] + "%"; barchart[1].style.height = arr[2] + "%"; barchart[0].style.height = arr[1] + "%"; 查看到目前为止,代码第一

如何将其缩短为一个循环

    barchart[4].style.height = number + "%";
    barchart[3].style.height = arr[4] + "%";
    barchart[2].style.height = arr[3] + "%";
    barchart[1].style.height = arr[2] + "%";
    barchart[0].style.height = arr[1] + "%";

查看到目前为止,代码第一次运行时所拥有的内容,
arr
仅在没有任何元素的情况下进行初始化,并且您正在尝试访问返回
undefined

此外,如果计划更改数组存储的值,则不应将数组初始化为常量

现在来看眼前的问题:

考虑到最右侧的条形图位于
barchart
的最后一个索引处,
arr
包含相应的条形图高度:

//give the bar on the far right a random height.
barchart[barchart.length-1].style.height = number + "%";
//loop through barcharts array from end to start excluding the last bar.
for(let i=barchart.length-2; i>=0; i--)
  {
    //give each bar the height of his right neighbour
    barchart[i].style.height = arr[i+1] + "%";    
  }
//give the bar on the far right a random height.
barchart[barchart.length-1].style.height = number + "%";
//loop through barcharts array from end to start excluding the last bar.
for(let i=barchart.length-2; i>=0; i--)
  {
    //give each bar the height of his right neighbour
    barchart[i].style.height = arr[i+1] + "%";    
  }