Как сделать 2D-массивы в Javascript

Всем привет,

Я решил сделать несколько постов о некоторых структурах данных, которые можно легко создать на других языках, но которые не так просто создать на JS.

Например, в Java таким образом можно было бы легко объявить двумерный массив 3 на 4.

int[][] myArray;
myArray = new int[3][4]

Его эквивалент в Javascript был бы таким, если бы я действительно строго придерживался одного и того же количества пустых столбцов в строке:

const myArray=[]
for(let row = 0; row < 3; row++){
  myArray[row]=new Array(4)
}
/*
 [ [ <4 empty items> ], [ <4 empty items> ], [ <4 empty items> ] ]
*/

Вот однострочник, который создает массив того же размера 3 на 4, заполненный неопределенными значениями:

const myArray = [...Array(3)].map(row => row = [...Array(4)])
/*
[ [ undefined, undefined, undefined, undefined ],
  [ undefined, undefined, undefined, undefined ],
  [ undefined, undefined, undefined, undefined ] ]
*/

С теплом,
Ана

P.S. Ознакомьтесь с этим пакетом npm для 2D-массива JS! https://www.npmjs.com/package/array-2d