2차배열에서 한 값을 변경할때 전체 줄이 바뀌는 문제 해결법
2차배열을 생성할때 이렇게 생성하고 한 값을 변경했는데 내가 바꾸지도 않은 전체 줄의 값이 바꼈다 const newArr = new Array(len).fill(new Array(len).fill(null)); newArr[0][0] = 5; console.log(newArr) 출력값 [ [ 5, 0, 0, 0, 0 ], [ 5, 0, 0, 0, 0 ], [ 5, 0, 0, 0, 0 ], [ 5, 0, 0, 0, 0 ], [ 5, 0, 0, 0, 0 ] ] 내가 예상한 값은 [0][0]만 5로 변하는 건데 전체 행 줄의 값이 바꼈다. 문제의 이유를 찾아보니 각 행이 실제로 메모리에 있는 하나의 리스트를 가리키는 참조(reference)로 구현되어 있기 때문에 발생 해결법 해당 행을 수정하기 전에 해당 행..
2023. 7. 29.