二维数组是怎么表示的
const array = [[0,0,1,0,0],[0,0,0,0,0],[0,0,0,1,0],[1,1,0,1,1],[0,0,0,0,0]]
0 0 1 0 00 0 0 0 00 0 0 1 01 1 0 1 10 0 0 0 0
array[0] 表示这个表的第一行array[0][0] 表示这个表的第一行第一列
三维数组
一维数组:[0,0,1,0,0]
二维数组:[[0,0,1,0,0],[0,0,0,0,0],[0,0,0,1,0],[1,1,0,1,1],[0,0,0,0,0]] 相当于把二维数组摞起来 array[0] 相当于取到最上层的一摞一维数组。
三维数组:相当于二维数组摞起来 array[0] 相当于取到最上层的一摞二维数组。
JS的二维数组的创建
错误方法:
const array = new Array(maze.length).fill(new Array(maze[0].length).fill(false))
fill 方法会用同一个地址充满数组,这会导致修改一个地方导致很多地方都改变,所以只在填充原始值的时候使用 fill。
正确方法
const visited = new Array(maze.length)for (let k = 0; k < maze.length; k++) {visited[k] = [];for (let j = 0; j < maze[0].length; j++) {visited[k][j] = false;}}
