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: вы можете получить последнее значение в виде любого числа или строки.То есть.myMultiArray[X][X][X][Y]
где X <64 и Y может быть чем угодно. </p>
Алгоритм также оптимизирован, попробуйте еще раз.