Я пытаюсь выяснить, как создать многомерный массив с фиксированными размерами.Многомерные массивы Javascript с фиксированным размером
This переполнение стека потока говорит, трехмерный массив может быть сделано следующим образом:
var arrayName = new Array(new Array(new Array()));
и this учебник сказал одномерный массив фиксированной длины может быть создан следующим образом:
var varname = new Array(3);
Я не уверен, как сделать многомерный массив фиксированного размера (я создаю его для создания шестиугольной сетки). Я думаю, что вы должны сделать, это что-то вроде этого:
var hexgrid_radius = 20;
var array1 = new Array(hexgrid_radius);
for(int i = 0; i < array1.length; i++) {
var array2 = new Array(hexgrid_radius);
array1[i] = array2;
for(int j = 0; j < array2.length; j++) {
var array3 = new Array(hexgrid_radius);
array2[j] = array3;
}
}
Не все же динамические массивы? Их размер увеличивается только по мере необходимости, чтобы вставлять в более крупный индекс. Я думаю, нет причин, по которым я не мог бы использовать динамические массивы, но я думал, что считается хорошей практикой использовать массивы фиксированного размера, когда вы можете, и вы знаете, что размер массива не изменится. – user244145
У JavaScript есть только динамические массивы. Попробуйте следующее: 'var array = new Array (10); array.pop(); console.log (array.length); // 9' – sbking
Если вам нужна какая-то структура данных, которая действительно действует как массив фиксированного размера, вам необходимо обернуть массив объектом, который обрабатывает массив для вас. Не делай этого; вам действительно не нужно это для этого случая. Похоже, вы исходите из языка со статической типизацией, массивами с фиксированной длиной и т. Д. У JavaScript нет этих понятий - переменные динамически типизируются, а массивы динамически велики. – sbking