任何人都有创建 4D 数组(或任何数量的维度)的功能?我想调用该函数,然后我可以执行类似 arr[3][2][23][12] = "awesome"; 的操作 最佳答案 function make(dim, lvl, arr) { if (lvl === 1) return []; if (!lvl) lvl = dim; if (!arr) arr = []; for (var i = 0, l = dim; i < l; i += 1) { arr[i] = make(dim, lvl - 1, arr[i]); } return arr;}var myMultiArray = make(4); 更新: 您可以指定第一个参数中的级别应该有多深,以及第二个参数中的级别数。例如。:var myMultiArray = make(64, 4);这将允许您设置和获取以下格式:myMultiArray[X][X][X][X] = ....但 X 必须始终小于 64。例如,您不能设置 myMultiArray[X][70][X][X],因为 myMultiArray[X][70] 尚未定义注意 - 运行 make(64, 4) 非常慢 - 您正在创建 64 ^ 4 个空数组元素(即 16,777,216)。 更新 2: 您可以将最后一个值作为任何数字或字符串。 IE。 myMultiArray[X][X][X][Y] 其中 X 算法也进行了优化,再试一次。关于Javascript 4D 数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6053108/
10-13 07:04