Multi-dimensional arrays

We can also work with multi-dimensional arrays in JavaScript. For example, let's create a 3 x 3 matrix. Each cell contains the sum i (row) + j (column) + z (depth) of the matrix, as follows:

const matrix3x3x3 = []; 
for (let i = 0; i < 3; i++) { 
  matrix3x3x3[i] = []; // we need to initialize each array 
  for (let j = 0; j < 3; j++) { 
    matrix3x3x3[i][j] = []; 
    for (let z = 0; z < 3; z++) { 
      matrix3x3x3[i][j][z] = i + j + z; 
    } 
  } 
} 

It does not matter how many dimensions we have in the data structure; we need to loop each dimension to access the cell. We can represent a 3 x 3 x 3 matrix with a cube diagram, as follows:

To output the content of this matrix, we can use the following code:

for (let i = 0; i < matrix3x3x3.length; i++) { 
  for (let j = 0; j < matrix3x3x3[i].length; j++) { 
    for (let z = 0; z < matrix3x3x3[i][j].length; z++) { 
      console.log(matrix3x3x3[i][j][z]); 
    } 
  } 
} 

If we had a 3 x 3 x 3 x 3 matrix, we would have four nested for statements in our code and so on. You rarely will need a four-dimensional array in your career as a developer. Two-dimensional arrays are most common.