Javascript 如何使用for循环变量作为循环的索引?(JS)

Javascript 如何使用for循环变量作为循环的索引?(JS),javascript,for-loop,indexing,Javascript,For Loop,Indexing,我试图使它,以便当我运行该函数时,它检查是否已经有保存。如果没有,则会将这些值放入列表中。我使用的是嵌套数组,总共有三次保存。但由于某种原因,当我运行它时,它说allSaves[L]是未定义的。但当我给L加一个零,它就行了。但我不能那样做。有人知道我该怎么解决吗?这是我的密码- function savingList(principal, interestRate, time, compoundNumber) { var allSaves = new Array();

我试图使它,以便当我运行该函数时,它检查是否已经有保存。如果没有,则会将这些值放入列表中。我使用的是嵌套数组,总共有三次保存。但由于某种原因,当我运行它时,它说allSaves[L]是未定义的。但当我给L加一个零,它就行了。但我不能那样做。有人知道我该怎么解决吗?这是我的密码-


    function savingList(principal, interestRate, time, compoundNumber) {
       var allSaves = new Array();
      allSaves[0] = new Array();
      
      for(var L = 0; L < 2; L++) {
        if(allSaves[L].length == 0){
          allSaves[L] = new Array(principal, interestRate, time, compoundNumber);
        }
      }
    } 


函数保存列表(本金、利率、时间、复合编号){
var allSaves=新数组();
allSaves[0]=新数组();
对于(var L=0;L<2;L++){
如果(所有保存[L]。长度==0){
allSaves[L]=新数组(主体、利率、时间、组合编号);
}
}
} 

我建议直接创建
allSaves
作为
Array.map()
而不是使用传统的循环块。还请注意,迭代器变量
L
应该是
let
而不是
var
,以便对其范围进行适当的限定

function savingList(principal, interestRate, time, compoundNumber) {
  return [...new Array(3)].map(saveIteration =>
    [principal, interestRate, time, compoundNumber]
  )

短语
[…新数组(i)]
只是获取长度为
i

的可映射数组的一种方法。我猜当循环达到L=1时,问题就出现了。噢,哇。我忘了放刹车。我现在觉得自己很笨,但还好。非常感谢。