Вероятно, лучший способ создания многомерных массивов - это создание на лету с помощью циклов.
, чтобы вы могли иметь как array[x][y][z]
, как я видел ваш тег 3D-array
.
Зацикливание впадины не так уж сложно, вы можете проверить длину массива, когда достигнете конца одного измерения, например, z
увеличьте y
на единицу и сбросьте z
до 0.
Пример конструктора 2d-массива:
function Array2d(x,y){
var array = new Array(x);
while(x>0){
array[x]=new Array(y);
x--;
}
return array;
}
, чтобы создать 2d-массив, который вы можете использовать следующим образом:
var myMatrix = Array2d(4,4);
это генерирует пустую матрицу 4x4 myMatrix[4][4]
(0,0) (1,0) (2,0) (3,0)
(0,1) (1,1) (2,1) (3,1)
(0,2) (1,2) (2,2) (3,2)
(0,3) (1,3) (2,3) (3,3)
для создания трехмерных или более измерений просто поместите другой цикл внутри цикла.
примечание: я не проверял эту функцию, это всего лишь алгоритм, вы должны проверить ввод,если вы вставите отрицательную длину или число с плавающей запятой, это может привести к сбою браузера.