Javascript 递归创建n级嵌套数组?
我想定义一个函数,该函数将创建一个嵌套数组,该数组有n个级别,每个级别1数组中有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]
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], [...], ...], ...]