Javascript 递归创建n级嵌套数组?

Javascript 递归创建n级嵌套数组?,javascript,arrays,recursion,Javascript,Arrays,Recursion,我想定义一个函数,该函数将创建一个嵌套数组,该数组有n个级别,每个级别1数组中有n个元素 例如,下面的代码适用于两个级别: function genMatrix() { const matrix = []; let total = 0; for(let i=0; i<2; i++) { matrix[i] = []; for(let j=0; j<2; j++) { total++; matrix[i]

我想定义一个函数,该函数将创建一个嵌套数组,该数组有n个级别,每个级别1数组中有n个元素

例如,下面的代码适用于两个级别:

 function genMatrix() {
    const matrix = [];
    let total = 0;
    for(let i=0; i<2; i++) {
      matrix[i] = [];
      for(let j=0; j<2; j++) {
        total++;
        matrix[i][j] = total;
      }
    }
    return matrix;
  }
函数genMatrix(){
常数矩阵=[];
设total=0;

对于(设i=0;i,这里是n级嵌套数组生成器:

function getMatrix(n) {
  var total = 0, levels = n;
  function genMatrix(n) {
    var matrix = [];
    for (var i = 0; i < levels; i++) {
      matrix.push(n ? genMatrix(n - 1) : ++total);
    }
    return matrix;
  }
  return genMatrix(n)[0];
}

所以
n=3
会给出
[[1,2,3],[4,5,6]]
?简短的答案是肯定的。较长的答案是,你需要更好地定义你的要求。此外,如果你简单地要求我们做你的家庭作业并为你写下来,你很可能会获得选票。@elclanrs[[1,2,3],[4,5,6],[7,8,9],[[10,11,12],[13,14,15],[16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]tldr;1)递归调用函数并使用结果2)每次调用递归函数时,传递一个正确的(但不同的)值以确保达到基本情况(例如级别=1)。-@elclars否,如果我的问题不清楚,则抱歉n=3将给出:[[1,2,3],[4,5,6],[7,8,9],[[10,11,12],[13,14,15],[16,17,18],[[19,20,21],[22,23,24],[25,26,27]]谢谢,这就是我想要的输出类型。这澄清了很多问题。不客气。非常感谢。谢谢。
console.log(getMatrix(2));
// → [[1, 2], [3, 4]]

console.log(getMatrix(3));
// → [[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[10, 11, 12], [...], ...], ...]