for (let y = 0; y < p.shape.length; ++y) {

        for (let x = 0; x < y; ++x) {

               [p.shape[x][y], p.shape[y][x]] = [p.shape[y][x], p.shape[x][y]];

        }

}


여기서 shape는 그냥 2차원 배열임


shape = 

{(2,0,0},

{2,2,2},

{0,0,0}}



 [p.shape[x][y], p.shape[y][x]] = [p.shape[y][x], p.shape[x][y]];


이렇게 배열 바꾸는건 처음보네... 뭔의미인지 모르겠음