,因此最终结果是我想创建类似array[2][2][2]
或更深层次的东西。array[2][2][2][2][2]...
(它们的均匀长度大于1)。
因此,每个数组的长度将超过x,深度为n
现在我有:
var array = new Array(2); //length of 2 is just an example
for (let i = 0; i < array.length; i++) {
array[i] = new Array(2);
}
console.log(array);
我的想法是:
function (length, depth)
{
//length determines how long each array will be (all arrays are same length)
//depth determines are far we go into it
}
因此,这显然我当前的代码仅在x长度上很容易启动二维数组。但是,如果我想更深入,我想知道该怎么做。递归似乎是一条不错的道路,但目前无法想到如何做。
您可以尝试递归:
function getNestedArray(depth, len) {
if (depth > 1) {
var a = [];
for (var i = 0; i < len; i++) {
a.push(getNestedArray(depth - 1, len))
}
return a;
} else {
return new Array(len);
}
}
console.log(getNestedArray(5, 2))
console.log(getNestedArray(3, 4))
console.log(getNestedArray(2, 4))