Javascript for循环中的递归让我感到困惑

Javascript for循环中的递归让我感到困惑,javascript,for-loop,recursion,Javascript,For Loop,Recursion,我试图得到这个模式: [ [,,2], [,2,1], [2,1,0] ] 我尝试了以下代码: 设n=3 设mainArr=Array(n) for(设i=0;i

我试图得到这个模式:

[
  [,,2],
  [,2,1],
  [2,1,0]
]
我尝试了以下代码:

设n=3
设mainArr=Array(n)
for(设i=0;i控制台日志(mainArr)您可以使用一个函数来保存最后插入的数组

函数填充(n,数组=数组(n+1)){ array=array.slice(1); array.push(n); return[array,…(n?fill(n-1,array):[])] }
控制台日志(填写(2))您的尝试存在一些问题:

recur
中,使用
scnd
作为外部维度的索引。这是该索引的错误维度。您应该将
if
条件更改为:

 if (mainArr[frst] === undefined || mainArr[scnd] === undefined) {
为此:

 if (mainArr[frst] === undefined || scnd < 0) {

至于你的最后一个问题:你可以用调试器分析你自己。逐步完成代码并检查变量。