Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为具有动态嵌套的数组赋值?_Javascript_Arrays - Fatal编程技术网

Javascript 如何为具有动态嵌套的数组赋值?

Javascript 如何为具有动态嵌套的数组赋值?,javascript,arrays,Javascript,Arrays,我正在尝试这样做,但动态: switch (scope) { case 1: array.push("something nice"); break; case 2: array[array.length-1].push("something nice"); break; case 3: array[array[array.length-1].length-1].push("something nice"); b

我正在尝试这样做,但动态:

switch (scope) {
    case 1: array.push("something nice"); break;
    case 2: array[array.length-1].push("something nice"); break;
    case 3: array[array[array.length-1].length-1].push("something nice"); break;
    case 4: ...you get the idea
}
这意味着,如果我有这样一个数组:

[1,2、[5,3,9、[4]]

当scope=3时,我输入开关,结果是:

[1,2、[5,3,9、[4,“好东西”]]

但是,如果scope=2,结果将是:

[1,2、[5,3,9、[4],“好东西”]]


我编写的代码可以实现这一点,但我想在作用域可以等于任何数字时动态地(不带开关)实现它(预先计算数组将始终具有该作用域,而无需添加新的嵌套)。

如果
作用域
是一个,则可以进行递归并推送

(就编程而言,我个人认为基于零的范围界定更为自然。)

函数推送(数组、范围、值){
if(scope==1)返回array.push(value);
push(数组[array.length-1],作用域-1,值);
}
常量数组=[1,2,5,3,9,4]];
推(数组,3,'好东西');
console.log(数组)
。作为控制台包装{最大高度:100%!重要;顶部:0;}