Я научился заранее заполнить/предварительно измерение 2D массив! Это было частью Упражнения вызов.
Я пробовал что -то вроде
var a = Array(3).fill(Array(2).fill(0))
но Когда ты делаешь что -то вроде
a[0][1] = "dog";
Вы получаете массив, который выглядит как
[[0,"dog"], [0,"dog"], [0,"dog"]]
Итак, что нужно сделать, это Массив (3) .fill (0) а затем .карта массив к другому Массив (2) .fill (0) Согласно следующему фрагменту из моего решения упражнений:
rotate(array) {
const [rowMax, colMax] = [array.length, array[0].length];
const result = Array(colMax)
.fill(0)
.map(() => Array(rowMax).fill(0));
for (let col = 0; col < rowMax; col++) {
for (let row = 0; row < colMax; row++) {
result[row][col] = array[col][row];
}
}
return result;
}
конкретно а
Array(colMax)
.fill(0)
.map(() => Array(rowMax).fill(0));
часть
Оригинал: “https://dev.to/bugmagnet/how-to-pre-dimension-a-2d-array-in-javascript-2l6”