【发布时间】:2012-10-31 10:30:51
【问题描述】:
var MultiArray = (function(){
var MultiArray = function(param){
var i = param.array.length;
while(i--){
param.array[i] = MultiArray({
array: new Array(dims[0]),
dims: dims.splice(1,dims.length-1)
});
}
return param.array
};
return function(){
var length = arguments.length - 1;
array = new Array(arguments[0]),
dims = [length];
for(var i = 0; i < length; i++){
dims[i] = arguments[i+1];
}
MultiArray({
array: array,
dims: dims
});
return array;
};
})();
我正在尝试编写一个创建多维数组的函数,因此var mdArray = MultiArray(3,3,3); 将创建一个由 3x3x3 元素组成的 3D 数组。但是我在尝试这种方法时得到了 Max call stack size exceeded,有没有更好的方法来制作这样的多维数组函数?
【问题讨论】:
标签: javascript recursion multidimensional-array